目次
Pythonで文字列のパターンマッチングを行う方法
この記事では、Pythonでの文字列のパターンマッチングについて詳しく解説します。具体的なコード例とその解説、さらには応用例まで含めています。
ここで、`re.search`関数はテキスト内で指定したパターンが見つかればマッチオブジェクトを、見つからなければ`None`を返します。
基本的な正規表現
メタキャラクタ
正規表現には、特定の文字列だけでなく、特定の形式に一致する文字列を検索できるメタキャラクタと呼ばれる文字があります。- . (ドット): 任意の一文字
- * (アスタリスク): 直前の文字が0回以上繰り返される
- + (プラス): 直前の文字が1回以上繰り返される
メタキャラクタの例
result = re.findall('a.b', 'acd acbd asbb adb')
print(result)
応用例
電話番号の抽出
電話番号は特定の形式で記述されることが多いです。例えば、「XXX-XXXX-XXXX」といった形です。pattern = r'\d{3}-\d{4}-\d{4}'
text = "私の電話番号は080-1111-2222です。"
result = re.search(pattern, text)
if result:
print(f"電話番号:{result.group()}")
メールアドレスの検証
正規表現はメールアドレスの形式が正しいかどうかを検証する際にも有用です。pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
text = "私のメールアドレスはexample@example.comです。"
result = re.search(pattern, text)
if result:
print(f"メールアドレス:{result.group()}")
コメント