從this鏈接我用下面的代碼:與re.match匹配字符串不起作用
my_other_string = 'the_boat_has_sunk'
my_list = ['car', 'boat', 'truck']
my_list = re.compile(r'\b(?:%s)\b' % '|'.join(my_list))
if re.search(my_list, my_other_string):
print('yay')
但是它不工作。我試着打印re.compile
後my_list
,它打印此:
re.compile('\\b(?:car|boot|truck)\\b')
我在做什麼錯?
編輯:
我不能_
分裂的話,因爲我總是不知道什麼樣的字符串將出席。所以,如果列表中的一個單詞在字符串中,那麼它必須是真的,而不是單獨的單詞。
編輯2: 更改爲re.search
。
使用're.search'。 [re.match](https://docs.python.org/2/library/re.html#re.match): *如果字符串的開頭**處的零個或多個字符**與正則表達式模式匹配,返回一個相應的MatchObject實例。如果字符串與模式不匹配,則返回None;請注意,這與零長度匹配不同* –
@stribizhev,它返回相同的結果。 – user3605780
然後請顯示足夠的代碼來重現問題。 –