Pythonは強力な文字列処理機能を持っており、その中でも正規表現は特に有用です。正規表現を使うと、複雑なパターンにマッチする文字列を検索、置換、または抽出することができます。今回は、Pythonの正規表現を使って文字列から部分を抽出する方法について解説します。
正規表現とは
正規表現は、文字列のパターンを表現するための強力な言語です。Pythonでは、re
モジュールを使って正規表現を扱います。
Pythonでの正規表現の基本
Pythonで正規表現を使うには、まずre
モジュールをインポートします。
import re
次に、re.findall
関数を使って、文字列からパターンにマッチした部分を抽出します。以下に例を示します。
s = 'id: deep, mail: [email protected], tel: 03-0123-4567'
r = re.findall('\\w+:', s) # 「英数字:」を抽出
print(r) # ['id:', 'mail:', 'tel:']
この例では、re.findall
関数の第1引数に「\w+:」というパターンを、第2引数に「id: deep, mail: [email protected], tel: 03-0123-4567」という文字列を渡しています。「\w+:」は「1文字以上の英数字」に続けてコロン「:」を意味するので、文字列の中では「id:」「mail:」「tel:」にマッチします。
グループ化
正規表現では、かっこ「()」を使って部分表現をグループ化することができます。グループ化された部分表現は、一つの単位として扱われます。以下に例を示します。
r = re.findall('(\\w+):', s) # 「英数字:」の「英数字」だけを抽出
print(r) # ['id', 'mail', 'tel']
この例では、パターンが「(\w+):」となっています。このときには、かっこ内の正規表現「\w+」にマッチする部分がリストの要素となります。コロンは要素には含まれていないことに注意してください。
以上、Pythonで正規表現を使って文字列から部分を抽出する基本的な方法について解説しました。これらの知識を活用して、Pythonでの文字列処理をより効率的に行ってみてください。