073:正規表現を分割して記述する

お題

正規表現を分割して記述する

コード

assert "aaaccc" =~ /(?:aaa)|(?:bbb)/
assert "bbbccc" =~ /(?:aaa)|(?:bbb)/
assert !("cccddd" =~ /(?:aaa)|(?:bbb)/)


re1 = /aaa/
re2 = /bbb/

m1 = ("aaaccc" =~ "${re1}|${re2}")
assert m1.find() == true
assert m1[0] == "aaa"

m2= ("bbbccc" =~ "${re1}|${re2}")
assert m2.find() == true
assert m2[0] == "bbb"

m3 = "cccddd" =~ "${re1}|${re2}"
assert m3.find() == false

添削歓迎

ここ間違ってるよ
こうした方がGroovyらしくないか?
などなど
方法は、コメント、トラックバックはてブTwitter @orange_clover宛 で、お願いします。



実行環境




Groovyの詳細についてはJavadocと以下の書籍を参考にしている。




関谷 和愛、上原 潤二、須江 信洋、中野 靖治
価格: ¥ 3,360
価格は記載時点のものです。購入前にAmazonでご確認ください。

「プログラミングGROOVY」正誤表




問題自体は第2版のもの。
自分で考えるために他言語の例をGroovyで置き換えてる。
が、自分だけで書いてるとGroovyっぽくならいないのが玉にキズ。




青木 峰郎、後藤 裕蔵、高橋 征義、まつもと ゆきひろ

価格: ¥ 2,940
価格は記載時点のものです。購入前にAmazonでご確認ください。