当然ですが、Groovy(Java)の正規表現も、 前方参照 の機能があるんですね。最近、 String の replaceAll メソッドを使用して気づいた。
例えば、こんなコードがあった場合
| |
実行結果は こにちわせかにちげつか となります。
置換対象文字列の括弧の中身は、置換後文字列内から左から$1、$2、…のように参照可能。
したがって、以下のコードを実行すると、カッコの中のカッコを参照できます。
| |
実行結果は こにちせかにちつか となります。
括弧が入れ子になった場合には、開き括弧の出現順に$1、$2と参照可能。
Groovyの場合はreplaceAllメソッドの第二引数にクロージャ渡すことも可能なので、
| |
なんてのももちろん出きるけど、簡単な置換は前述の記述の方がスマートかなと思う。 最近、オライリーの正規表現(別名、ふくろう本を読んで知った.。正規表現を一度知ると、何でも正規表現使いたくなってしまう。
例えば
| |
とかも
| |
とか書いてしまう。