楼主还没弄明白 group 的概念 你这个问题只有当 n 的数值为你所知的情况下才能用group(i)引用 split是随机引用的(同时也是顺序引用的)最好的解决方法 如果你是顺序引用,而且非要用到group那只有一种方法 Pattern p = Pattern.compile("\\d+"); Matcher m = p.matcher(",323213,3232321,3232321,3213213"); while (m.find()) { System.out.println(m.group()); } 这种方法比split也麻烦不少...
unit ,?[0-9]+ match {unit}+用CYGWIN的FLEX,BYACC可以完成匹配,很简单。
你这个问题只有当 n 的数值为你所知的情况下才能用group(i)引用
split是随机引用的(同时也是顺序引用的)最好的解决方法
如果你是顺序引用,而且非要用到group那只有一种方法
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(",323213,3232321,3232321,3213213");
while (m.find()) {
System.out.println(m.group());
}
这种方法比split也麻烦不少...
match {unit}+用CYGWIN的FLEX,BYACC可以完成匹配,很简单。
@substrs = $str =~ /,\d+/g;
foreach $token (@substrs)
{
print $token;
print "\n";
}