我想用字符串匹配單詞列表並獲取多少個單詞匹配。Python正則表達式,匹配字符串中的字符並獲得計數
現在我有這樣的:
import re
words = ["red", "blue"]
exactMatch = re.compile(r'\b%s\b' % '\\b|\\b'.join(words), flags=re.IGNORECASE)
print exactMatch.search("my blue cat")
print exactMatch.search("my red car")
print exactMatch.search("my red and blue monkey")
print exactMatch.search("my yellow dog")
我現在的正則表達式將匹配前3,但我想找出多少的傳遞給search
匹配字符串列表words
的話。這可能是沒有爲列表中的每個單詞創建一個新的re.compile
?
或者還有另外一種方法可以達到同樣的效果嗎?
我想要的re.compile
數量保持在最低水平的原因是速度,因爲在我的應用程序有多個單詞列表,並約3500字符串搜索對抗。
'當w在searchterm'將無法正常工作,因爲還在'searchterm'匹配一個單詞的一部分 – fredrik