Python正则表达式排序问题

时间:2012-07-09 18:58:27

标签: python regex

我遇到了python的re模块的问题。

这是问题的最简单版本

import re

print re.findall('a|ab','aab')      # ['a', 'a']
print re.findall('ab|a','aab')      # ['a', 'ab']

我在运行时从文本文件生成正则表达式,并且无法确定它们的顺序是否正确。 有没有解决这个问题的方法?

1 个答案:

答案 0 :(得分:2)

按大小排序...先长一点

例如:

s_regs = sorted(regexes,key=lambda x:len(x))
s_regs.reverse()
regex = '|'.join(s_regs)