为什么\ b在python re模块中不起作用?

时间:2014-01-12 04:18:41

标签: python regex

众所周知,\b表示正则表达式中的单词边界。但是,python中re模块的以下代码不起作用:

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

我认为findall的返回结果应为["aaa"],但它没有找到任何内容。怎么了?

1 个答案:

答案 0 :(得分:22)

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