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 に答える