这个问题已经在这里有一个答案:
- SCJP6正则表达式的问题 1个回答
我测试匹配器和图形类的小存根......看到下面的小存根..
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的。
诺埃让看到的迭代...
迭代NO matcher.start()matcher.group()
1 0 “”
2 1 “”
3 2 34
4 4 “”
5 “”
现在..let结合...... matcher.start()+ matcher.group()......输出按我们的计算公式为:0123445
但是,存根生成01234456。
我无法从其中“6”来理解。 字符串索引从零开始,因此在这里可以有最大的指数是5.So从那里6来临?
它遍历环路6个times..How? 任何建议?