我正在尝试使用反斜杠替换正则表达式,但Python似乎插入了一个双反斜杠,我不能让它停止!
>>> re.sub('a', '\\ b', 'a')
'\\ b'
双反斜杠应该是反斜杠(escape + backslash =反斜杠),但它最终是字面意思。
如果我删除了双斜线,它根本不打印一个:
>>> re.sub('a', '\ b', 'b')
'b'
如何在一个反斜杠中将Python变为sub?
答案 0 :(得分:6)
它没有插入双反斜杠。这只是交互式解释器,将字符串显示为字符串文字。使用print
查看实际字符串:
>>> "\\n"
'\\n'
>>> print "\\n"
\n
答案 1 :(得分:3)
我想这不是答案(我的第二个Liquid_Fire),但有一个建议:
"\\b" -> \b
r"\b" -> \b
使用r“”原始字符串来简化Python中的反斜杠。
答案 2 :(得分:0)
使用字母“r”作为字符串的前缀。这指示Python按字面解释字符串。
代码:
re.sub('a', r'\ b', 'a')
您经常会发现“r”与Python和正则表达式一起使用。