1

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

这是问题的最简单版本

import re

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

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

4

1 回答 1

2

按大小排序……先长一点

例如:

s_regs = sorted(regexes,key=lambda x:len(x))
s_regs.reverse()
regex = '|'.join(s_regs)
于 2012-07-09T19:00:05.527 回答