谁能帮我把这个正则表达式翻译成 Python re 模块?
sed -e "s/^[^ ]*\([^ ]*\)\([0-9]*\)\([0-9:]*\)\([0 -9]*\)/\1\2\4\3/"
据我所知,这会将一个文本替换为另一个文本。我如何使用 re 模块创建这样的东西?谢谢!
例如Fri Mar 21 07:16:51 2008 -0600 将转换为 Mar 21 2008 07:16:51 -0600。
source = 'Fri Mar 21 07:16:51 2008 -0600'
pattern = re.compile('^[^ ]* \([^ ]*\) \([0-9]*\) \([0-9:]*\) \([0-9]*\) ')
result = re.sub('\\1 \\2 \\4 \\3 ', source)
请您参考如下方法:
也将反斜杠放在您的模式中的括号上,如:
pattern = re.compile('^[^ ]* ([^ ]*) ([0-9]*) ([0-9:]*) ([0-9]*) ')
按照您的方式,您正在转义需要被识别为分组的括号,以便您实际捕获对应于\1 ...\4 的四个组
