我试着用正则表达式代替反斜杠,但是Python似乎在插入一个双反斜杠,我无法让它停止!
>>> re.sub('a', '\\ b', 'a')
'\\ b'双反斜杠应该是反斜杠(转义+反斜杠=反斜杠),但它最终是文字的。
如果我删除双斜杠,它根本不打印一个:
>>> re.sub('a', '\ b', 'b')
'b' 如何才能让Python只在一个反斜杠中分文呢?
发布于 2011-09-27 00:18:41
不是插入双反斜杠。这就是交互式解释器,它将字符串显示为字符串文本。使用print查看实际字符串:
>>> "\\n"
'\\n'
>>> print "\\n"
\n发布于 2011-09-27 00:21:53
我想这不是一个答案(我是第二个Liquid_Fire),而是一个建议:
"\\b" -> \b
r"\b" -> \b使用r"“原始字符串简化Python中的反斜杠。
发布于 2011-09-27 00:24:28
在字符串前加上字母"r“。这指示Python从字面上解释字符串。
对于您的代码:
re.sub('a', r'\ b', 'a')
您经常会发现与Python和正则表达式一起使用的"r“。
https://stackoverflow.com/questions/7562832
复制相似问题