Angenommen, ich habe ein Regex-Muster, dem ich viele Strings zuordnen möchte.
val Digit = """\d""".r
Ich möchte nur überprüfen, ob ein bestimmter String vollständig mit dem Regex übereinstimmt. Was ist ein guter und idiomatischer Weg, dies in Scala zu tun?
Ich weiß, dass ich Muster-Übereinstimmungen mit Regexes erstellen kann, aber dies ist syntaktisch in diesem Fall nicht sehr erfreulich, da ich keine Gruppen zum Extrahieren habe:
scala> "5" match { case Digit() => true case _ => false }
res4: Boolean = true
Oder ich könnte auf das zugrunde liegende Java-Muster zurückgreifen:
scala> Digit.pattern.matcher("5").matches
res6: Boolean = true
das ist auch nicht elegant.
Gibt es eine bessere Lösung?
"5" match { case Digit() => true case _ => false }
sieht besser aus als das zugrunde liegende Musterobjekt zu verwenden.