ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現を使用して重複する一致を見つけるにはどうすればよいですか?

Python 正規表現を使用して重複する一致を見つけるにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-20 03:27:09252ブラウズ

How Can I Find Overlapping Matches Using Python Regular Expressions?

正規表現による重複一致の検索

Python では、re モジュールを使用して、パターンの重複一致をすべて検索できます。先読みの使用。実際の一致を技術的に保持しながら、目的の一致をキャプチャします。

キャプチャ グループ先読み:

重複する一致をキャプチャする鍵は、先読みアサーション内でキャプチャ グループを使用することです。先読みによって目的のテキストが取得されますが、実際に一致するのは先読みの前のゼロ幅の部分文字列です。これにより、技術的に重複しない一致が可能になります。

import re

s = "123456789123456789"
matches = re.finditer(r'(?=(\d{10}))', s)  # 10-digit number series
results = [int(match.group(1)) for match in matches]

print(results)  # [1234567891, 2345678912, 3456789123, ...]

この例では、パターン (d{10}) は 10 桁のシーケンスと一致しますが、先読み (?=) はこれらのシーケンスの存在をキャプチャしてアサートします。一致します。次に、一致は int(match.group(1)) を使用して整数に変換されます。

この手法により、より大きな文字列内で重複するすべての一致を効率的に識別できます。

以上がPython 正規表現を使用して重複する一致を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。