我遇到了python的re模块的问题。
这是问题的最简单版本
import re
print re.findall('a|ab','aab') # ['a', 'a']
print re.findall('ab|a','aab') # ['a', 'ab']
我在运行时从文本文件生成正则表达式,并且无法确定它们的顺序是否正确。 有没有解决这个问题的方法?
答案 0 :(得分:2)
按大小排序...先长一点
例如:
s_regs = sorted(regexes,key=lambda x:len(x))
s_regs.reverse()
regex = '|'.join(s_regs)