パターンから正規表現オブジェクトを作成する
【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと
【パターンを定義する】
・パターンに文字列を定義する場合
pat = 'abc'
・パターンにメタ文字(特別文字)を定義する場合
'$'→語尾がpngで終わるようにする(語尾マッチ)
pat = 'png$'
・パターンにバックスラッシュ '\' を定義する場合
文字列に '\'が含まれる場合はエスケープを行う必要がある。
pat = '\\w'
あるいは
raw 文字列を使う
pat = r'\w'
サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> print("インストール先は c:\\code\\python\\bin です")
インストール先は c:\code\python\bin です
>>> print(r"インストール先は c:\code\python\bin です")
インストール先は c:\code\python\bin です
>>>
【パターンをコンパイルする】
Python で正規表現を利用する場合、パターンとして定義した文字列をそのまま利用して re モジュールに含まれる関数を使う方法と、パターンをいったんコンパイルして Pattern クラスのインスタンスを作成したあと、 Pattern クラスのメソッドを使う方法がある。
1.パターンを一度しか使用しない場合
コンパイルする必要がない
2.同じパターンを繰り返し使用する場合
コンパイルする
書式
re.compile(pat, flags=0)
サンプルコード
>>> import re
>>> filename = 'apple.png'
>>> pattern = re.compile(r'png$')
>>> result = pattern.search(filename)
>>> if result :
print('パターンにマッチします')
else :
print('パターンにマッチしません')
パターンにマッチします
>>>