- scala regex weird behavior
- 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)
- ^(?:ab|ba|(?:ab)*a|(?:ba)*b)$