Pythonでは、文字列のパターンマッチングに正規表現を使用することができます。正規表現は、特定のパターンに一致する文字列を検索、置換、抽出するための強力なツールです。
正規表現の基本
正規表現は、文字列をあるパターン化された記号で表現する記述方法で、指定したパターンに当てはまる文字列を検索や置換するのに利用します。例えば、電話番号やメールアドレスなどの構造を持った文字列を見つける場合に正規表現が非常に有用です。
import re
# 電話番号のパターンを定義する正規表現
pattern = r"\d{3}-\d{4}-\d{4}|\d{4}-\d{3}-\d{4}"
# 検索対象のテキスト
text = "私の電話番号は080-1234-5678です。 お問い合わせは0120-345-6789までお願いします。"
# 正規表現で電話番号を検索する
matches = re.findall(pattern, text)
# 検索結果を表示する
if matches:
for match in matches:
print("電話番号:", match)
else:
print("電話番号は見つかりませんでした。")
このコードは、テキスト内の電話番号を検索し、見つかった電話番号を表示します。
正規表現の応用
正規表現は、文字列のパターンマッチングだけでなく、文字列の置換や分割など、さまざまな文字列操作にも使用できます。以下に、正規表現を使用した文字列の置換の例を示します。
import re
# テキスト
text = "私の電話番号は080-1234-5678です。 お問い合わせは0120-345-6789までお願いします。"
# 正規表現で電話番号を検索し、"電話番号"に置換する
replaced_text = re.sub(r"\d{3}-\d{4}-\d{4}|\d{4}-\d{3}-\d{4}", "電話番号", text)
# 置換後のテキストを表示する
print(replaced_text)
このコードは、テキスト内の電話番号を”電話番号”という文字列に置換し、置換後のテキストを表示します。
Pythonの正規表現は、文字列操作の幅を広げ、より複雑なパターンマッチングを可能にします。これらの基本的な概念を理解することで、Pythonでの文字列操作がより柔軟になります。