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

Python在正则表达式期间插入反斜杠,python,regex,Python,Regex,我试图用正则表达式替换反斜杠,但Python似乎插入了一个双反斜杠,我无法阻止它 >>> re.sub('a', '\\ b', 'a') '\\ b' 双反斜杠应该是反斜杠(escape+backslax=backslax),但它最终是文字 如果删除双斜杠,它根本不会打印一条: >>> re.sub('a', '\ b', 'b') 'b' 如何让Python只在一个反斜杠中插入子斜杠?它没有插入双反斜杠。这只是将字符串显示为字符串文本的交互式解释器。

我试图用正则表达式替换反斜杠,但Python似乎插入了一个双反斜杠,我无法阻止它

>>> re.sub('a', '\\ b', 'a')
'\\ b'
双反斜杠应该是反斜杠(escape+backslax=backslax),但它最终是文字

如果删除双斜杠,它根本不会打印一条:

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

如何让Python只在一个反斜杠中插入子斜杠?

它没有插入双反斜杠。这只是将字符串显示为字符串文本的交互式解释器。使用
print
查看实际字符串:

>>> "\\n"
'\\n'
>>> print "\\n"
\n

这不是插入双反斜杠。这只是将字符串显示为字符串文本的交互式解释器。使用
print
查看实际字符串:

>>> "\\n"
'\\n'
>>> print "\\n"
\n
我想这不是一个答案(我是第二个液体火),而是一个建议:

"\\b" -> \b
r"\b" -> \b
使用r“”原始字符串简化Python中的反斜杠。

我想这不是一个答案(我第二次使用了Liquid\u Fire),而是一个建议:

"\\b" -> \b
r"\b" -> \b

使用r“”原始字符串简化Python中的反斜杠。

在字符串前面加上字母“r”。这将指示Python逐字解释字符串

对于您的代码:

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


您经常会发现“r”与Python和正则表达式一起使用。

在字符串前面加上字母“r”。这将指示Python逐字解释字符串

对于您的代码:

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


您经常会发现“r”与Python和正则表达式一起使用。

是的,您说得对!不幸的是,这种奇怪的现象导致我的nose doctest失败,因为我嵌入了doctest,doctest解释器得到了\\返回。我怎么才能让口译员不再傻呢?你不会的。在doctest中使用
打印
,或使用
'\\'
。博士测试的全部“要点”是看起来与交互式使用相同。说。。。您是否在doctest中使用原始字符串?你应该是!不要忘记docstring本身就是一个字符串,所以在作为doctest运行之前,它将经历一个级别的“不可回避”过程。是的,你是对的!不幸的是,这种奇怪的现象导致我的nose doctest失败,因为我嵌入了doctest,doctest解释器得到了\\返回。我怎么才能让口译员不再傻呢?你不会的。在doctest中使用
打印
,或使用
'\\'
。博士测试的全部“要点”是看起来与交互式使用相同。说。。。您是否在doctest中使用原始字符串?你应该是!别忘了docstring本身就是一个字符串,所以在作为doctest运行之前,它将经历一个级别的“不可回避”。。。我会投你的票,因为有人投了我的票。没关系。。。我会投你的票,因为有人投了我的票。