在python中的字符串中搜索多个字符串

时间:2013-09-25 11:50:28

标签: python regex string parsing

我必须在一个语句中搜索字符串中的一些单词。任何人都可以帮我在python中做到这一点吗?

例如 - 要搜索的字词为:abcabdadbmmnn。 要搜索的字符串:

aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd

我想要这样的事情:

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

如果任何单词匹配,则输出应为yes。

1 个答案:

答案 0 :(得分:6)

此处不需要正则表达式,请使用any()

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

Just,FYI,正则表达式:

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