Pythonのreでマッチ(一致箇所)箇所をイテレータで取得してfor文で確認する方法

Pythonのreモジュールを使用して、マッチ(一致箇所)した箇所をイテレータとして取得し、forループを使用して確認する方法は、finditer()関数を使用することです。finditer()関数は、テキスト内のすべての一致箇所を反復処理可能なオブジェクトとして提供します。

以下は、finditer()関数を使用して一致箇所をイテレータとして取得し、forループを使用して確認する方法の例です:

python
import re text = "The quick brown fox jumped over the quick lazy dog." pattern = r"quick" # finditer()関数を使用して一致箇所をイテレータとして取得 matches = re.finditer(pattern, text) for match in matches: start_pos = match.start() # 一致箇所の開始位置 end_pos = match.end() # 一致箇所の終了位置 matched_text = match.group() # 一致箇所のテキスト print(f"一致箇所: {matched_text}, 開始位置: {start_pos}, 終了位置: {end_pos}")

このコードでは、re.finditer()関数を使用して “quick" に一致するすべての箇所をイテレータとして取得し、forループを使用してそれらを確認しています。Matchオブジェクトから一致箇所の開始位置、終了位置、およびテキストを取得して表示します。

finditer()を使用することで、複数の一致箇所を効率的に処理できます。