This question already has an answer here:
SCJP6 regex issue
(1个答案)
4年前关闭。
只是有关Java正则表达式模式的一个简短问题!所以说,如果我有一个类似的方法。
如果运行此命令,则最终将得到以下输出。
我知道它的工作原理是如何在6点结束,我认为它将在5点结束,有人可以向我解释一下吗?谢谢!
(1个答案)
4年前关闭。
只是有关Java正则表达式模式的一个简短问题!所以说,如果我有一个类似的方法。
public void example()
{
Pattern p = Pattern.compile("\\d*");
Matcher m = p.matcher("ab34ef");
boolean b = false;
while (b = m.find())
{
System.out.println(m.start() + " " + m.group());
}
}
如果运行此命令,则最终将得到以下输出。
0
1
2 34
4
5
6
我知道它的工作原理是如何在6点结束,我认为它将在5点结束,有人可以向我解释一下吗?谢谢!
最佳答案
在字符串"ab34ef"
中,有7个“空字符”,其值为""
。它们位于每个普通字符之间。它尝试查找从每个空字符开始的匹配项,而不是从每个正常字符开始的匹配项;即每个|
在以下位置:"|a|b|3|4|e|f|"
。
07-24 14:42