python/正規表現

Last-modified: 2010-02-19 (金) 00:58:04
  • reモジュールを使う

正規表現オブジェクトを作って操作をする

正規表現をオブジェクト型にコンパイルして、正規表現オブジェクトを作成する。
正規表現オブジェクトに対するメソッド呼び出しを行なうことで処理を実行する。
検索などでマッチした結果は、マッチオブジェクトとして返ってくる。

サンプルコード

import re
p = re.compile('[a-z]+')
m = p.match('test01')
m.group()
  • p = re.compile('[a-z]+')
    正規表現 [a-z]+ をコンパイルして、正規表現オブジェクト「p」を作成する。
  • m = p.match('test01')
    正規表現オブジェクトに対するメソッドmatchを呼び出して、引数に指定した文字列とのマッチングを行う。
    マッチングの結果は、マッチオブジェクト「m」。
  • m.group()
    マッチオブジェクトに格納されている正規表現にマッチした文字列を表示する。
    ここで、正規表現'[a-z]+'と、文字列'test01'は、testがマッチするため、結果はtestとなる。

sub()メソッド

パターンにマッチする文字列が見つかるたびに指定した文字列で置換する。文字列が返される。
構文:sub(置換する文字列、処理対象の文字列)

p = re.compile('/')
s = p.sub('','2010/02/18')
print s
結果: 20100218