2013-09-25 178 views
0

我必須在一個語句中搜索字符串中的某些單詞。任何人都可以幫助我在Python中做到這一點?在python中搜索字符串的多個字符串

例如, - 要搜索的詞是:abcabd,adbmmnn。要搜索 字符串:

aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd 

我想是這樣的:

search(abc, abd, adb, mm, nn, "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd") 

和輸出應該是肯定的,如果任何一個字,否則沒有匹配。

回答

5

你不需要正則表達式在這裏,使用any()

>>> s = "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd" 
>>> l = ['abc', 'abd', 'adb', 'mm', 'nn'] 
>>> any(i in s for i in l) 
True 

只是,僅供參考,正則表達式的形式給出:

>>> import re 
>>> s = "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd" 
>>> pattern = "abc|abd|adb|mn|nn" 
>>> re.search(pattern, s) 
<_sre.SRE_Match object at 0xb7088138> 
+1

注意,正則表達式的方法將只能通過串做一通,所以可能會更好。 – Veedrac