Pythonにおける正規表現の基本
Pythonでは、正規表現を扱うためにreモジュールを使用します。
正規表現は文字列のパターンを表す方法で、文字列の検索や置換、抽出などに利用されます。
正規表現は特殊文字やメタ文字を使用して表現されます。
import re text = "This is a sample text." pattern = "sample" result = re.search(pattern, text) print(result.group())
上記のコードでは、reモジュールのsearch関数を使用して、text変数の中からpattern変数に指定されたパターンを検索しています。
結果として、”sample”という文字列が返されます。
Pythonでの電話番号の正規表現について
電話番号を正規表現で表現する場合、以下のように表現することができます。
import re phone_number = "080-1234-5678" pattern = r"\d{2,4}-\d{2,4}-\d{4}" result = re.match(pattern, phone_number) print(result.group())
上記のコードでは、電話番号を表す文字列をphone_number変数に格納し、パターンを表す文字列をpattern変数に格納しています。
パターンでは、\dは数字を表し、{2,4}は2桁から4桁の数字を表します。
また、-はハイフンを表します。
結果として、”080-1234-5678″という文字列が返されます。
電話番号を正規表現で抽出する方法
あるテキスト中から電話番号を正規表現で抽出する場合、以下のように表現することができます。
import re text = "私の電話番号は080-1234-5678です。" pattern = r"\d{2,4}-\d{2,4}-\d{4}" result = re.search(pattern, text) print(result.group())
上記のコードでは、text変数の中からパターンにマッチする文字列を検索しています。
結果として、”080-1234-5678″という文字列が返されます。
Pythonのエスケープシーケンスの解説
Pythonでは、エスケープシーケンスを使用することで、特殊文字を表現することができます。
代表的なエスケープシーケンスには、以下のものがあります。
- \n: 改行
- \t: タブ
- \’: シングルクォート
- \” : ダブルクォート
- \\: バックスラッシュ
例えば、以下のように表現することができます。
print("Hello\nWorld!") print("I\'m a programmer.")
上記のコードでは、\nを使用して改行を表し、\’を使用してシングルクォートを表しています。
結果として、以下のように出力されます。
Hello World! I'm a programmer.
正規表現を使った電話番号のエスケープ処理
電話番号をエスケープする際には、正規表現の特殊文字をエスケープする必要があります。
以下のように、reモジュールのescape関数を使用することで、正規表現の特殊文字をエスケープすることができます。
import re phone_number = "(080)1234-5678" pattern = re.escape(phone_number) result = re.match(pattern, phone_number) print(result.group())
上記のコードでは、電話番号を表す文字列をphone_number変数に格納し、re.escape関数を使用してパターンを表す文字列を生成しています。
結果として、”(080)1234-5678″という文字列が返されます。
まとめ
Pythonの正規表現を使用することで、電話番号の抽出やエスケープ処理を簡単に行うことができます。
正規表現の基本を押さえて、エスケープ処理を活用することで、柔軟な処理が可能となります。