Day 105正規表現でパターン検索
Pythonコード
1import re2text = '私の電話番号は090-1234-5678です。'3pattern = r'\d{3}-\d{4}-\d{4}'4match = re.search(pattern, text)5if match:6 print('電話番号が見つかりました:', match.group())7else:8 print('電話番号が見つかりませんでした。')
解説
- 行1: 正規表現を使用するために、re モジュールをインポートします。re モジュールには、文字列の中でパターンを検索したり置換したりするための関数が含まれています。 行2〜3: text 変数に電話番号が含まれる文字列を代入します。
- 行4: パターンを定義します。この場合、電話番号のパターン(3 桁の数字 - 4 桁の数字 - 4 桁の数字)を表す正規表現を使用します。\d は数字を表し、{3} や {4} はそれぞれ 3 桁や 4 桁の数字を表します。 行5: re.search() 関数を使用して、text 内でパターンに一致する部分を検索します。結果は match 変数に格納されます。re.search() 関数は、文字列の中で指定されたパターンに一致する部分を検索し、その結果を返します。
- 行6〜7: もし一致する部分が見つかれば、match.group() でその部分を取り出し、電話番号が見つかったことを出力します。match.group() は、検索結果から一致した文字列を取得する関数です。 行8〜9: 見つからなければ、見つからなかったことを出力します。print() は画面に文字や値を表示する関数です。
次に試してみよう
- 電話番号以外のパターン(例:メールアドレス)を検索するコードを作成してみましょう。
- re.search() ではなく re.findall() を使用して、すべての一致する部分を取得してみましょう。
- パターンを変更して、より複雑な文字列を検索するコードを作成してみましょう。