0
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场比赛。你如何解释这个?因为你用find
scala正则表达式奇怪行为
谢谢。我想要你输入的预测,而不是我想出的那个。如果你不介意,你能解释你是怎么想出来的。 –
@kr,组变动和锚'^'和'$'添加到模式的开始和结束。 '^'匹配字符串的开头,'$'匹配字符串的结尾。 – Qtax
我知道的^意义和$,但到底是什么(?:AB)是什么意思?谢谢。 –