Скажем, у меня есть этот код:
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?