Answering my own question I’ll use the “pimp my library pattern”
object RegexUtils {
implicit class RichRegex(val underlying: Regex) extends AnyVal {
def matches(s: String) = underlying.pattern.matcher(s).matches
}
}
and use it like this
import RegexUtils._
val Digit = """\d""".r
if (Digit matches "5") println("match")
else println("no match")
unless someone comes up with a better (standard) solution.
Notes
-
I didn’t pimp
Stringto limit the scope of potential side effects. -
unapplySeqdoes not read very well in that context.