多くの文字列を一致させたい正規表現パターンがあると仮定します。
val Digit = """\d""".r
特定の文字列が正規表現と完全に一致するかどうかを確認したいだけです。Scalaでこれを行うための良い慣用的な方法は何ですか?
正規表現でパターンマッチできることは知っていますが、抽出するグループがないため、この場合、構文的にはあまり満足のいくものではありません。
scala> "5" match { case Digit() => true case _ => false }
res4: Boolean = true
または、基になるJavaパターンにフォールバックすることもできます。
scala> Digit.pattern.matcher("5").matches
res6: Boolean = true
これもエレガントではありません。
より良い解決策はありますか?
"5" match { case Digit() => true case _ => false }
基になるパターンオブジェクトを使用するよりも見栄えが良いと思います。