gpt4 book ai didi

java - 为什么 Matcher.group() 无法检测重复?

转载 作者:行者123 更新时间:2023-11-30 05:55:18 24 4
gpt4 key购买 nike

当我使用此代码提取项目时,正则表达式未检测到重复项,感谢您的帮助。

public static void main(String[] args) {
String input = "item1 , item2 , item3 , item4 ";
String regex = "\\s*([a-z]\\w+)(\\s*,\\s*([a-z]\\w+))*\\s*";
System.out.println(input.matches(regex));
Pattern pat = compile(regex);
Matcher m = pat.matcher(input);
m.find();
for (int i = 0; i < m.groupCount(); i++) {
System.out.println(m.group(i));
}
}

输出:

true
item1 , item2 , item3 , item4
item1
, item4

我期待看到:

true
item1 , item2 , item3 , item4
item1
,item2
,item3
,item4

最佳答案

为什么不使用 split

String[] items = input.split(", ");
for (String s : items) {
System.out.println(s);
}

如果我没理解错的话,你想提取输入字符串中的项目。由于它们由空格、逗号或两者的组合分隔,您可以使用正则表达式“,”作为 split 方法的参数来简单地拆分它们,这些项目将存储在返回的 String[] 中。

关于java - 为什么 Matcher.group() 无法检测重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8438106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com