Python正則表示式之\b
阿新 • • 發佈:2019-01-08
\b 稱為單詞邊界(word boundary)符.
例如只想匹配 My cat is bad.中的cat 可以使用 \bcat\b
import re harsh_str = ['hello','Cat',' cat','cat h','CAT','CAt-h','Cat_h']#re.I要在compile的時候指定,注意\b在python中是回退符,正則模式之前一定要加r(raw string)
p = re.compile(r'\bcat\b', re.I) p1 = re.compile(r'\bcat h\b', re.I) p2 = re.compile(r'\bcat-h\b'
輸出:
['Cat', ' cat', 'cat h', 'CAT', 'CAt-h']
['cat h']
['CAt-h']
但是pattern p依然匹配到了 CAt-h.這是因為下劃線_是單詞字元,\b本身只佔一位,有三種情況會匹配到,一種就是\b會匹配到兩個字元之間,一個是單詞字元,另一個不是單詞字元。對於Cat_h t是單詞字元,但是‘_’也是單詞字元,所以沒有匹配。下面的兩個例子意思是這裡的單詞並非一定是連續的字串。