読者です 読者をやめる 読者になる 読者になる

正規表現のオペレータを変数で動的に指定する

//対象文字列
def str = "abc"

//静的指定
assert str =~ "a?c" //true

//動的指定
def pattern = "a?c"
assert str =~ pattern //true

なお、正規表現のオペレータ指定の際に一般的には/a/と表現するが、groovyでは/a/での文字列表現はバックスラッシュをエスケープ文字と扱わないという扱いになるだけで、正規表現を用いる際に必ずしも必要という訳ではない。
(自身の理解のため、上記例文もわざとバックスラッシュではなくダブルクオーテーションを用いている)
文字列に関する詳細は、P67 表3.4文字列リテラルの表記方法とそれぞれの機能に説明が載っている。

プログラミングGROOVY

プログラミングGROOVY