心魅 - cocoromi -

半角スペース時々全角

pythonの正規表現でマッチしたグループを参照する

python正規表現でマッチした部分の文字列を取得するにはmatchメソッドの戻り値のgroupメソッドを使います。

正規表現オブジェクトの生成とマッチング

reパッケージのcompile関数に正規表現を食わせると正規表現オブジェクトを生成できます。
この正規表現オブジェクトのmatchメソッドに検査したい文字列を突っ込むと結果が返ってきます。
マッチしない場合はNoneが返ってきます。

import re
matcher = re.compile( ".*function (.+) {" )
result = matcher.match( targetString )

マッチ部分の取得

上記の結果のオブジェクトのgroupメソッドを使うと、マッチ部分を取得することが出来ます。

import re
matcher = re.compile( "((.+)\t(.+))" )
result = matcher.match( "foo\tbar" )
print result.group(1) #foo
print result.group(2) #bar

groupsメソッドを使うとリストで取得することもできます。

まとめ

compileして
matchして
groupで取得