7
据了解,\b
是指正则表达式中的单词边界。然而re
模块的蟒蛇下面的代码不起作用:为什么 B不能在python re模块中工作?
>>> p=re.compile('\baaa\b')
>>> p.findall("aaa vvv")
[]
我认为findall
返回的结果应该是["aaa"]
,但它并没有发现任何东西。怎么了?
据了解,\b
是指正则表达式中的单词边界。然而re
模块的蟒蛇下面的代码不起作用:为什么 B不能在python re模块中工作?
>>> p=re.compile('\baaa\b')
>>> p.findall("aaa vvv")
[]
我认为findall
返回的结果应该是["aaa"]
,但它并没有发现任何东西。怎么了?
您需要使用原始字符串,否则将\b
解释为字符串转义。使用r'\baaa\b'
。 (或者,你可以写'\\b'
,但是对于更长的正则表达式来说这会更加尴尬)。
我明白了。谢谢你的及时答复! – user2384994
(单引号禁用转义不是Python的东西;这两种类型是等价的。) – Ryan