scala> val p = "ab|ba|(ab)*a|(ba)*b".r
p: scala.util.matching.Regex = ab|ba|(ab)*a|(ba)*b
scala> val m = p.pattern.matcher _
m: java.lang.CharSequence => java.util.regex.Matcher = <function1>
scala> m("aa").matches
res9: Boolean = false
scala> p.findAllIn("aa").toList
res10: List[String] = List(a, a)
根据 res9,“aa”不应匹配。但是 res10 说有 2 场比赛。你怎么解释这个?