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と以下の書籍を参考にしている。
問題自体は第2版のもの。
自分で考えるために他言語の例をGroovyで置き換えてる。
が、自分だけで書いてるとGroovyっぽくならいないのが玉にキズ。