2012年4月22日日曜日

[groovy]正規表現パターンをコンパイルして使おう

正規表現パターンをコンパイルして使用する方法。
スラッシュでパターンを構築しても、単なる文字列なのでこれだと毎回コンパイルされるので、
コンパイルしてjava.util.regex.Patternにしてあげるのが良い。
def p = ~/\w/    // 正規表現文字列を「~」でコンパイルする
def s = /\w/

// 「~」でコンパイルしているのでPatternオブジェクトになる。
assert p instanceof java.util.regex.Pattern
// スラッシュで構築したパターンはStringオブジェクトのまま
assert s instanceof java.lang.String