Припустимо, у мене є шаблон регулярного виразу, якому я хочу відповідати багатьом рядкам.
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 }
виглядає краще, ніж використання об'єкта базового шаблону.