私は、Python 2.6でreを使って、より大きい一連の数値の中で10桁の数字のシリーズを見つけることを試みています。Pythonの正規表現はすべて重複する一致を見つけますか?
私は簡単に重複したマッチを取得することはできませんが、私は数字のシリーズですべてのマッチが欲しいです。例えば。
私は次のリストを取得する必要「123456789123456789」で
:私は「先読み」への参照を見つけたが、私が見てきた例のみではなく数字のペアを示し
[1234567891,2345678912,3456789123,4567891234,5678912345,6789123456,7891234567,8912345678,9123456789]
を大きなグループよりも、2桁を超えて変換することはできませんでした。
提示ソリューションが動作しません。 match()を複数回呼び出す必要がなく、手動で 'end'境界を追跡するソリューションがありますか? –
@VítorDeAraújo: '(a | ab | abc)のような重複する正規表現は、ネストされたキャプチャグループで重複しないものとして一般に書き換えられます。 (a(b(c)?)?) 'は、一致をアンパックするときに一番外側の(つまり一番左の)キャプチャグループ以外のすべてを無視します。確かに、これはやや苦痛で読みにくいです。これはまた、マッチするためのより効果的な正規表現になります。 – smci