高效的嵌套正则表达式

时间:2015-01-27 09:43:40

标签: python regex

是否有一种有效且通用的方法来匹配正则表达式以及基于它们的合成?

例如,如果我想要对这3个字符串中的每一个进行匹配:"I like""cats""I like .* cats",我显然可以进行3次单独的查询。

有没有更有效的方法(最好是在python中)?

1 个答案:

答案 0 :(得分:1)

patterns = ["I like", "cats", "I like .* cats"]

for stuff in patterns:
    re.search(r'%s' % stuff, string_to_search, flags)

效率更高,按长度停在第一场比赛排序模式:

for stuff in sorted(patterns,key = len):
    if re.search(r'%s' % stuff, string_to_search):
        break