Python での正規表現との重複一致
パターンが重複している場合でも、すべてのパターンを見つけるのは難しい場合があります。ただし、正規表現の力を利用すると、この問題を簡単に解決できます。
たとえば、より大きな数値文字列から 10 桁の一連の数字をすべて抽出する必要があるとします。重複しない一致に限定する代わりに、重複を考慮して完全なリストを収集できます。
これを達成するには、先読み内でキャプチャ グループを使用することが重要です。先読みでは目的のシーケンスがキャプチャされますが、実際の一致は先読み前のゼロ幅の部分文字列であるため、一致は重複しないままになります。
import re s = "123456789123456789" matches = re.finditer(r'(?=(\d{10}))', s) results = [int(match.group(1)) for match in matches] print(results) # [1234567891, 2345678912, 3456789123, ...]
このアプローチでは、重複する部分を含むリストが生成されます。一致するため、元の文字列内の指定された数字シーケンスのすべてのインスタンスをキャプチャできるようになります。
以上がPython の正規表現は重複する一致をどのように見つけられるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。