Python3 – 正規表現の操作

主なreモジュール関数

まず、reモジュール関数の操作をまとめる。以下の文字列をターゲットにする。

re.match()はパターンが先頭でマッチするかどうか。

re.search()はパターンが含まれるかどうか。最初に現れたパターンにのみマッチする。

re.findall()は一致するパターン全てのリストを返す。

re.finditer()は一致するパターンのイテレータを返す。

re.sub()は一致するパターンを置き換え。

re.subn()は一致するパターンを置き換え、その結果と置換回数のタプルを返す。

コンパイル

パターン文字列をコンパイルしパターンオブジェクト化することで、再利用・高速化が可能。この場合、reモジュール関数と同じ名前のメソッドが使える。

マッチオブジェクトの利用

上記のうちmatch()、search()、findall()はマッチオブジェクトを返す。マッチオブジェクトの主なメソッドには、マッチした開始点を返すstart()、終了点(+1)を返すend()、それらをタプルで範囲として返すspan()、マッチした文字列を返すgroup()がある。

複数のマッチした文字列を処理するには、finditer()で順次マッチオブジェクトを取り出すとよい。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です