【发布时间】:2012-12-26 18:16:33
【问题描述】:
public static void main(String args[]) {
Pattern p = Pattern.compile("ab"); // Case 1
Pattern p = Pattern.compile("bab"); // Case 2
Matcher m = p.matcher("abababa");
while(m.find()){
System.out.print(m.start());
}
}
当我使用 Case 1 时,输出结果如预期的那样是 024。但是,当我使用 Case 2 时,输出为 1,但预期为 13。所以,任何人解释我,regex 中是否有任何异常规则,如果没有,会导致此输出。然后,为什么我得到这个输出。
帮助赞赏!!
注意:案例 1 和案例 2 是独立使用的。
【问题讨论】:
标签: java regex pattern-matching matcher