scjp测试中的java正则表达式测试
我正在尝试解决一个关于正则表达式的scjp测试
这是一个代码
import java.util.regex.*;
public class TestRegex {
public static void main(String[] args) {
Pattern p = Pattern.compile(args[0]);
Matcher m = p.matcher(args[1]);
boolean b = false;
while (b = m.find()) {
System.out.print(m.start() + m.group());
}
}
}
及
java TestRegex "\d*" ab34ef
这个测试的答案是01234456
。除了最后的输出,我什么都懂。既然“ab34ef”中的最后一个索引是5,怎么可能打印成6
需要帮忙吗
# 1 楼答案
\d*
意味着“零或多个数字”,实际上什么都不匹配。6与字符串中最后一个字符后的空字符串匹配