2014-01-12 129 views
7

据了解,\b是指正则表达式中的单词边界。然而re模块的蟒蛇下面的代码不起作用:为什么 B不能在python re模块中工作?

>>> p=re.compile('\baaa\b') 
>>> p.findall("aaa vvv") 
[] 

我认为findall返回的结果应该是["aaa"],但它并没有发现任何东西。怎么了?

+2

(单引号禁用转义不是Python的东西;这两种类型是等价的。) – Ryan

回答

18

您需要使用原始字符串,否则将\b解释为字符串转义。使用r'\baaa\b'。 (或者,你可以写'\\b',但是对于更长的正则表达式来说这会更加尴尬)。

+0

我明白了。谢谢你的及时答复! – user2384994

相关问题