Java 中的非贪婪正则表达式
2022-09-03 01:37:54
我有下一个代码:
public static void createTokens(){
String test = "test is a word word word word big small";
Matcher mtch = Pattern.compile("test is a (\\s*.+?\\s*) word (\\s*.+?\\s*)").matcher(test);
while (mtch.find()){
for (int i = 1; i <= mtch.groupCount(); i++){
System.out.println(mtch.group(i));
}
}
}
并有下一个输出:
word
w
但在我看来,它必须是:
word
word
有人请解释一下为什么会这样?