Wie überprüft man, ob ein String in Scala vollständig mit einem Regex übereinstimmt?

Angenommen ich habe eine Regex-Muster, die ich will passen viele Saiten.

val Digit = """\d""".r

Ich will einfach nur, um zu überprüfen, ob eine gegebene Zeichenkette vollständig entspricht der Regex. Was ist eine gute und idiomatischer Weg, dies zu tun in Scala?

Weiß ich, dass ich pattern match auf Regexes, aber das ist syntaktisch nicht sehr erfreulich, in diesem Fall, denn ich habe keine Gruppen extrahieren:

scala> "5" match { case Digit() => true case _ => false }
res4: Boolean = true

Oder könnte ich zurückgreifen, um die zugrunde liegende Java-Muster:

scala> Digit.pattern.matcher("5").matches
res6: Boolean = true

ist nicht elegant, entweder.

Gibt es eine bessere Lösung?

InformationsquelleAutor der Frage mkneissl | 2010-06-11

Schreibe einen Kommentar