Скажем, у меня есть этот код:
val string = "one493two483three"
val pattern = """two(\d+)three""".r
pattern.findAllIn(string).foreach(println)
Я ожидал, что findAllIn вернется только 483, но вместо этого он вернет two483three. Я знаю, что я мог бы использовать unapply для извлечения только этой части, но мне пришлось бы иметь шаблон для всей строки, например:
val pattern = """one.*two(\d+)three""".r
val pattern(aMatch) = string
println(aMatch) // prints 483
Есть ли другой способ достижения этого, без непосредственного использования классов из java.util и без использования unapply?