Python在正则表达式中插入反斜杠

时间:2011-09-27 00:14:50

标签: python regex

我正在尝试使用反斜杠替换正则表达式,但Python似乎插入了一个双反斜杠,我不能让它停止!

>>> re.sub('a', '\\ b', 'a')
'\\ b'

双反斜杠应该是反斜杠(escape + backslash =反斜杠),但它最终是字面意思。

如果我删除了双斜线,它根本不打印一个:

>>> re.sub('a', '\ b', 'b')
'b' 

如何在一个反斜杠中将Python变为sub?

3 个答案:

答案 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和正则表达式一起使用。