【发布时间】:2014-11-09 14:06:07
【问题描述】:
如何获取带有星号的组的内容?
例如,我想删除一个逗号分隔的列表,例如。 G。 1,2,3,4,5.
private static final String LIST_REGEX = "^(\\d+)(,\\d+)*$";
private static final Pattern LIST_PATTERN = Pattern.compile(LIST_REGEX);
public static void main(String[] args) {
final String list = "1,2,3,4,5";
final Matcher matcher = LIST_PATTERN.matcher(list);
System.out.println(matcher.matches());
for (int i = 0, n = matcher.groupCount(); i < n; i++) {
System.out.println(i + "\t" + matcher.group(i));
}
}
输出是
true
0 1,2,3,4,5
1 1
我怎样才能得到每一个条目,我。 e. 1, 2, 3, ...?
我正在寻找一个通用的解决方案。这只是一个示范性的例子。
请想象一个像^\\[(\\d+)(,\\d+)*\\]$ 这样更复杂的正则表达式来匹配像[1,2,3,4,5] 这样的列表
【问题讨论】:
-
对于您的第二个示例,最简单的应该是使用正则表达式来获取 [] 和使用拆分后之间的内容。使用正则表达式会降低效率。
标签: java regex string capturing-group