众所周知,\b
表示正则表达式中的单词边界。但是,python中re
模块的以下代码不起作用:
>>> p=re.compile('\baaa\b')
>>> p.findall("aaa vvv")
[]
我认为findall
的返回结果应为["aaa"]
,但它没有找到任何内容。怎么了?
答案 0 :(得分:22)
您需要使用原始字符串,否则\b
将被解释为字符串转义符。使用r'\baaa\b'
。 (或者,您可以编写'\\b'
,但对于更长的正则表达式来说,这更加尴尬。)