Pythonのreメソッド finditer

Pythonのreモジュールのfinditerメソッドは、正規表現パターンに一致する部分文字列を文字列内で見つけ、それらを反復可能なオブジェクト(イテレータ)として返すために使用されます。finditerメソッドは、findallメソッドとは異なり、イテレータを返すため、一致部分を逐次処理するのに適しています。

以下は、re.finditerメソッドの基本的な使用例です:

python
import re pattern = r'd+' text = 'I have 3 apples and 5 bananas.' # 正規表現パターンに一致する部分文字列を反復処理 matches = re.finditer(pattern, text) for match in matches: print(match.group())

この例では、正規表現パターン r'd+' が文字列 text 内の数字を見つけ、re.finditerメソッドによって反復処理されます。match.group()を使用して、各一致部分を取得し、その結果を出力します。

出力は以下のようになります:


3 5

finditerメソッドは、テキスト内の正規表現に一致するすべての部分文字列を逐次処理する際に非常に便利です。この方法を使用すると、一致部分を個別に取得して処理でき、大きなテキストデータ内の複数の一致部分を効率的に処理できます。