gpt4 book ai didi

java - Matcher.find() 如何工作

转载 作者:太空狗 更新时间:2023-10-29 23:04:23 26 4
gpt4 key购买 nike

<分区>

我正在测试 Matcher 和 Pattern 类的一个小 stub ...请参阅以下小 stub ..

package scjp2.escape.sequence.examples;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Sample_19 {

public static void main(String a[]){
String stream = "ab34ef";
Pattern pattern = Pattern.compile("\\d*");

//HERE * IS GREEDY QUANTIFIER THAT LOOKS FOR ZERO TO MANY COMBINATION THAT
//START WITH NUMBER
Matcher matcher = pattern.matcher(stream);

while(matcher.find()){
System.out.print(matcher.start()+matcher.group());
}
}

}

这里...我们正在比较的字符串是“ab34ef”。长度为 6。

不让我们看看迭代...


没有迭代 matcher.start() matcher.group()

1 0 ""

2 1 ""

3 2 34

4 4 ""

5 5 ""

现在..让组合...matcher.start() + matcher.group()....根据我们的计算,输出是:0123445

但是, stub 生成 01234456。

我无法理解“6”的来源。字符串索引从零开始,所以这里最大索引可以是 5。那么 6 是从哪里来的??

它在循环中迭代六次..如何?有什么建议吗?

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