Сначала я был как круто ...
scala> var nameRE = """\W*(\w+)\W+(\w+)\W*""".r
nameRE: scala.util.matching.Regex = \W*(\w+)\W+(\w+)\W*
scala> var nameRE(first, last) = "Will Smith "
first: String = Will
last: String = Smith
Тогда я был как штопать ...
scala> var listOfVowels = "(([aeiou])*)".r
listOfVowels: scala.util.matching.Regex = (([aeiou])*)
scala> var listOfVowels(vowels:List[String]) = "uoiea"
<console>:7: error: scrutinee is incompatible with pattern type;
found : List[String]
required: java.lang.String
var listOfVowels(vowels:List[String]) = "uoiea"
Теперь я похож на хах ...
scala> (listOfVowels findFirstMatchIn "uoiea" get) subgroups
res35: List[String] = List(a)
[Если мой вопрос не очевиден: как я могу получить список всех подгрупп, фактически сопоставленных с шаблоном,в идеале в экстракторе, но в любом случае без написания сопоставителя второго уровня.Правильный ответ здесь будет, конечно, List(u, o, i, e, a)
.]