ここでは、Pythonにおける正規表現のグループ機能を用いた分割、抽出する方法について解説しています。
この記事の対象
グループ機能の表現
「r”(\d{1}) (\d{1,2})…”」などと記述することでグループ機能として複数分割できます。
グループとしてまとめた部分文字列はmatchオブジェクトのgroups()を用いて取り出すことが可能です。
グループ機能を用いた使用例
import re
1---文字列
word = "USA is cab.UK is taxi"
2---分割
tansaku = r"(\w{1,3}) (\w{1,2}) (\w{1,3})"
3---マッチ判定
g_word = re.search(tansaku,word)
4---マッチした全てのグループを抽出
g_word.groups()
#('USA', 'is', 'cab')
上記がプログラムになります。
それでは解説していきます。
1---文字列
word = "USA is cab.UK is taxi"
1の部分では文字列を指定しています。
2---分割
tansaku = r"(\w{1,3}) (\w{1,2}) (\w{1,3})"
2の部分では冒頭から3文字、半角スペースを挟んで2文字、また半角スペースを挟んで3文字を抽出するように指定しています。
3---マッチ判定
g_word = re.search(tansaku,word)
3の部分ではマッチしたものを返すように指定しています。
4---マッチした全てのグループを抽出
g_word.groups()
4の部分ではマッチした全てのグループを抽出するように指定しています。
最後に出力は「(‘USA’, ‘is’, ‘cab’)」となります。指定した文字が抽出できていることが分かります。