Pythonの正規表現について:About Regular Expressions in Python

Pythonの正規表現について:About Regular Expressions in Python

Pythonの正規表現について

正規表現(Regular Expression)は、文字列の検索や置換、抽出などを効率的に行うための表現方法です。 Pythonでは標準ライブラリのreモジュールを使用して正規表現を扱うことができます。

1. 正規表現を使うための基本

正規表現を使うために、Pythonではreモジュールをインポートします。

import re

# パターンを検索する例
text = "Hello, my phone number is 123-456-7890."
pattern = r"\d{3}-\d{3}-\d{4}"  # 電話番号の正規表現
match = re.search(pattern, text)
if match:
    print("一致:", match.group())  # 出力: 123-456-7890
    

2. よく使う正規表現パターン

パターン 説明
\d 数字(0~9)に一致
\D 数字以外の文字に一致
\w 単語構成文字(アルファベット、数字、アンダースコア)に一致
\W 単語構成文字以外に一致
.* 任意の0文字以上の文字列に一致
^ 文字列の先頭に一致
$ 文字列の末尾に一致
[abc] a、b、cのいずれか1文字に一致

3. よく使う関数

  • re.search(): 指定したパターンが文字列内に存在するかを検索し、最初の一致を返します。
  • re.match(): 文字列の先頭がパターンに一致するかを確認します。
  • re.findall(): パターンに一致するすべての部分文字列をリストとして返します。
  • re.sub(): パターンに一致する部分を別の文字列で置換します。

4. サンプルコード

メールアドレスを抽出する例を以下に示します。

import re

text = "連絡先は email@example.com または info@test.org です。"
pattern = r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"
emails = re.findall(pattern, text)
print("メールアドレス一覧:", emails)
# 出力: ['email@example.com', 'info@test.org']
    

5. 注意点

  • 正規表現のパターンは読みやすさとパフォーマンスを考慮して設計する必要があります。
  • エスケープ文字(例: \)に注意してください。必要に応じてr"..."を使い、生文字列として扱います。
  • 複雑な正規表現はコードの可読性を下げる可能性があるため、適切なコメントや分割を行いましょう。

まとめ

Pythonの正規表現は、文字列処理を効率化するための非常に強力なツールです。 reモジュールを活用し、必要に応じて適切なパターンを設計することで、多様な文字列処理を簡潔に実現できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です