こんにちは、まさです。
引き続き『退屈なことはPythonにやらせよう』を学んでいます。今日は第7章「正規表現」についてです。
➤正規表現とは、ある特定のパターンをもつ文字列をしている表記法の1つである。例えば、111-1234という郵便番号は、\d\d\d-\d\d\d\dと表せ、これを更に、d\{3}-\d{4}と書き表わせる。
➤reというのが正規表現のモジュールで、regexはregular expressionの略、正規表現を生成するときは、re.compile()関数を使う、その際、\を数回使うが、このバックスラッシュはエスケープ文字ではないですよ、と表すために、r' 'を使う。search()メソッドで検索し、group()メソッドでマッチした文字列を取得する。
➤縦線 | を使うと、複数のパターンのうちの1つとマッチさせられる。
➤これは'Batman', 'Batmobile', 'Batbat'のいずれかにマッチさせたいとき。
その他、?,+などいろいろな正規表現があるらしいが、全部覚えるのも大変なので、ここでギブアップ。
引き続き『退屈なことはPythonにやらせよう』を学んでいます。今日は第7章「正規表現」についてです。
➤正規表現とは、ある特定のパターンをもつ文字列をしている表記法の1つである。例えば、111-1234という郵便番号は、\d\d\d-\d\d\d\dと表せ、これを更に、d\{3}-\d{4}と書き表わせる。
➤reというのが正規表現のモジュールで、regexはregular expressionの略、正規表現を生成するときは、re.compile()関数を使う、その際、\を数回使うが、このバックスラッシュはエスケープ文字ではないですよ、と表すために、r' 'を使う。search()メソッドで検索し、group()メソッドでマッチした文字列を取得する。
1 2 3 4 5 | >>> import re >>> phone_num_regex = re. compile (r '\d\d\d-\d\d\d-\d\d\d\d' ) >>> mo = phone_num_regex.search( '私の電話番号は415-555-4242です。' ) >>> print ( '電話番号が見つかりました:' + mo.group()) 電話番号が見つかりました& #65306;415-555-4242 |
➤縦線 | を使うと、複数のパターンのうちの1つとマッチさせられる。
1 2 3 4 | >>> hero_regex = re. compile (r 'Batman|Tina rey' ) >>> mo1 = hero_regex.search( 'Batman and Tina Fey.' ) >>> mo1.group() 'Batman' |
➤これは'Batman', 'Batmobile', 'Batbat'のいずれかにマッチさせたいとき。
1 2 3 4 | >>> bat_regex = re. compile (r 'Bat(man|mobile|copter|bat)' ) >>> mo = bat_regex.search( 'Batmobile lost a wheet' ) >>> mo.group() 'Batmobile' |
No comments:
Post a Comment