4
found = re.findall("g+", "fggfggggfggfg", re.DOTALL)

findall を使用してパターンの最長一致を見つけたいと思います。いくつかの解決策を見つけましたが、re.matchまたはのみですre.finditer。誰かアドバイスをください。

4

1 に答える 1

7

re.DOTALLこの場合は何もしないので、簡単にするために取り出しました。

>>> import re
>>> max(re.findall("g+", "fggfggggfggfg"), key=len)
'gggg'

長さの順にすべてが必要な場合:

>>> sorted(re.findall("g+", "fggfggggfggfg"), key=len, reverse=True)
['gggg', 'gg', 'gg', 'g']
于 2013-04-17T08:05:44.183 に答える