Pythonのreでイテレータで取得したmatchオブジェクトをリスト化する方法

Pythonのreモジュールでre.finditer()などのイテレータから取得したMatchオブジェクトをリスト化するには、list()関数を使用できます。list()関数を使うと、イテレータから得られるすべての要素(Matchオブジェクト)がリストに変換されます。

以下は、re.finditer()で取得したMatchオブジェクトをリスト化する例です:

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

このコードでは、re.finditer()関数で一致箇所をイテレータとして取得し、list()関数を使用してそれらのMatchオブジェクトをリストに変換しています。その後、リスト内の各Matchオブジェクトをループで処理して表示します。

この方法を使用すると、Matchオブジェクトをリストにまとめて管理し、簡単にアクセスできます。