gpt4 book ai didi

java - 在java中使用正则表达式进行模式搜索

转载 作者:行者123 更新时间:2023-11-30 04:33:27 26 4
gpt4 key购买 nike

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());
}
}

当我使用情况 1 时,输出如预期的那样为 024。但是,当我使用情况 2 时,输出为 1,但我预期为 13。那么,任何人都可以解释一下,regex 中是否有任何异常规则会导致此输出(如果没有)。那么,为什么我会得到这个输出。

感谢帮助!!

注意:案例 1 和案例 2 是独立使用的。

最佳答案

匹配消耗输入,因此下一个匹配上一个匹配结束之后找到:

每次匹配之前“bab”匹配器指针的位置为:

  1. |abababa
  2. abab|aba

关于java - 在java中使用正则表达式进行模式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14044464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com