Supongamos que tengo un patrón Regex con el que quiero hacer coincidir muchas cadenas.
val Digit = """\d""".r
Solo quiero verificar si una cadena determinada coincide completamente con la expresión regular. ¿Cuál es una forma buena e idiomática de hacer esto en Scala?
Sé que puedo hacer coincidir patrones en Regexes, pero esto no es sintácticamente muy agradable en este caso, porque no tengo grupos para extraer:
scala> "5" match { case Digit() => true case _ => false }
res4: Boolean = true
O podría volver al patrón de Java subyacente:
scala> Digit.pattern.matcher("5").matches
res6: Boolean = true
que tampoco es elegante.
¿Existe una solución mejor?
"5" match { case Digit() => true case _ => false }
ve mejor que usar un objeto de patrón subyacente.