Python で Regex を使用した重複する一致の検索
検索操作では、多くの場合、ファイル内の特定のパターンの複数の出現を識別して取得する必要があります。大きなテキスト。一致が重複する場合、標準の正規表現一致手法では一部のインスタンスが失われる可能性があります。この質問では、Python の正規表現を使用して重複する一致をすべて見つける方法を検討します。
目標は、指定された数値シーケンス内のすべての 10 桁の数値セットを抽出することです。たとえば、文字列「123456789123456789」では、次の情報を取得することを目的としています。
[1234567891,2345678912,3456789123,4567891234,5678912345,6789123456,7891234567,8912345678,9123456789]
キャプチャ グループと先読み
これを達成するには、内部でキャプチャ グループを使用します。先読み。先読みによって対象のテキスト (ここでは 10 桁の数字) が識別されますが、実際の一致は先読みの前の幅 0 の部分文字列です。これにより、重複しない一致が得られます。
実装
finder メソッドを使用すると、次のように一致を取得できます。
import re s = "123456789123456789" matches = re.finditer(r'(?=(\d{10}))', s) results = [int(match.group(1)) for match in matches]
出力結果は、重複する一致の目的のリストを返します:
[1234567891, 2345678912, 3456789123, 4567891234, 5678912345, 6789123456, 7891234567, 8912345678, 9123456789]
このアプローチ指定されたパターンの重複するすべての出現を効率的に抽出し、包括的なテキスト処理のための貴重な技術を提供します。
以上がPython 正規表現を使用して重複する一致をすべて検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。