Skip to main content
 首页 » 编程设计

python之sed 正则表达式到 Python re

2024年08月30日37insus

谁能帮我把这个正则表达式翻译成 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 的四个组