我正在学习量词和面对问题,以了解不情愿和占有。我从stackoverflow,oracle文档中读了很多答案,甚至找到了在视觉上描述它们的好图像https://i.stack.imgur.com/DyhJk.png。但仍然困惑。这是我的代码。
Pattern p = Pattern.compile("a*?");
Matcher m = p.matcher("abclaaakditabdaa");
while(m.find()){
System.out.println(" Word: " + m.group() );
}
为什么这段代码没有输出?
我的理解:
在图像中,我理解Reluctant首先匹配完整的字符串,如果它不匹配,那么它从左侧开始并向右移动一个字符。因此,在我的示例中,它将不匹配整个字符串,然后它将从左侧开始匹配。所以在我的例子中它应该打印
a
aaa
a
aa
你能说出我理解的错误吗?