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