Pythonのreメソッド groups

Pythonのreモジュールのgroupsメソッドは存在しません。代わりに、正規表現のgroupメソッドとgroups属性があります。

  • groupメソッド: groupメソッドは正規表現に一致した特定の部分文字列を取得するために使用されます。groupメソッドにはオプションの引数があり、引数がない場合、一致した全体の文字列を返します。引数に整数を指定することで、正規表現内のキャプチャーグループに一致した部分文字列を取得できます。

例:

python
import re pattern = r'(d{2})-(d{2})-(d{4})' text = 'Birthdate: 10-25-2000' match = re.search(pattern, text) if match: # グループ0は一致した全体の文字列を返す full_match = match.group(0) print(f"全体の一致: {full_match}") # グループ1、2、3はキャプチャーグループに一致した部分文字列を返す group1 = match.group(1) group2 = match.group(2) group3 = match.group(3) print(f"キャプチャーグループ1: {group1}") print(f"キャプチャーグループ2: {group2}") print(f"キャプチャーグループ3: {group3}") else: print("一致が見つかりませんでした。")

この例では、groupメソッドを使用して正規表現のキャプチャーグループに一致した部分文字列を取得しています。

  • groups属性: groups属性はmatchオブジェクトからアクセスでき、すべてのキャプチャーグループに一致した部分文字列のタプルを返します。

例:

python
import re pattern = r'(d{2})-(d{2})-(d{4})' text = 'Birthdate: 10-25-2000' match = re.search(pattern, text) if match: # groups属性はキャプチャーグループに一致した部分文字列のタプルを返す captured_groups = match.groups() print(f"キャプチャーグループに一致した部分文字列: {captured_groups}") else: print("一致が見つかりませんでした。")

groups属性は、キャプチャーグループに一致した部分文字列を取得するのに便利です。