>> re.sub("num1 (.*?) num2 (.*?)","1 -6ren">
gpt4 book ai didi

Python 正则表达式\数字添加\0x

转载 作者:行者123 更新时间:2023-11-28 20:26:51 24 4
gpt4 key购买 nike

我打算在 python 中对字符串进行简单的正则表达式替换。这是我的代码:

>>> s = "num1 1 num2 5"
>>> re.sub("num1 (.*?) num2 (.*?)","1 \1 2 \2",s)

我希望得到这样的输出,其中 \number 被替换为相应的组。

'1 1 2 5'

但是,这是我得到的输出:

'1 \x01 2 \x025'

我有点困惑为什么 \x0 是他们的,而不是我想要的。非常感谢您的帮助

最佳答案

您需要开始使用原始字符串(在字符串前加上 r):

>>> import re
>>> s = "num1 1 num2 5"
>>> re.sub(r"num1 (.*?) num2 (.*?)", r"1 \1 2 \2", s)
'1 1 2 5'

否则你需要为 python 和正则表达式转义你的反斜杠,像这样:

>>> re.sub("num1 (.*?) num2 (.*?)", "1 \\1 2 \\2", s)
'1 1 2 5'

(这真的很快就变老了,请查看 python regex docs 的开头段落

关于Python 正则表达式\数字添加\0x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com