ACa*_*ter 2 python regex replace
我想在python中对字符串进行简单的正则表达式替换.这是我的代码:
>>> s = "num1 1 num2 5"
>>> re.sub("num1 (.*?) num2 (.*?)","1 \1 2 \2",s)
Run Code Online (Sandbox Code Playgroud)
我希望这样的输出,\numbers被替换为相应的组.
'1 1 2 5'
Run Code Online (Sandbox Code Playgroud)
但是,这是我得到的输出:
'1 \x01 2 \x025'
Run Code Online (Sandbox Code Playgroud)
我有点难过为什么\x0s是他们的,而不是我想在那里.非常感谢任何帮助
您需要开始使用原始字符串(使用r作为字符串前缀):
>>> import re
>>> s = "num1 1 num2 5"
>>> re.sub(r"num1 (.*?) num2 (.*?)", r"1 \1 2 \2", s)
'1 1 2 5'
Run Code Online (Sandbox Code Playgroud)
否则你需要为python和正则表达式转义反斜杠,如下所示:
>>> re.sub("num1 (.*?) num2 (.*?)", "1 \\1 2 \\2", s)
'1 1 2 5'
Run Code Online (Sandbox Code Playgroud)
(这真的很老了,请查看python正则表达式文档的开头段落
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |