首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

正则表达式分组,该怎么处理

2012-01-18 
正则表达式分组我想把字符串s,,1,682575,1H 24\,True,1,0,0,1,0,0,1637954

正则表达式分组
我想把字符串s="''','','1','682575','1H 24\'','True','1','0','0','1','0','0','1637954'";
中单引号内的内容取出来(包括空值),但是其中的1H 24\'总是取不出。
请大家帮助看看以下代码,哪里错?
s="''','','1','682575','1H 24\'','True','1','0','0','1','0','0','1637954'";
Pattern p = Pattern.compile("(?:')([^(',)]*)(?:',)");
Matcher m = p.matcher(s);
int i=0;
int end=0;
while (m.find()) {
System.out.println("第"+i+"个:"+m.group(1));
end=m.end();//取得最后匹配的索引
i++;
}
//提取最后一个
int b=end;
int e=s.indexOf("'", b+1);
System.out.println("最后一个是:"+s.substring(b+1,e));

[解决办法]
请参考

Java code
    String s="''','','1','682575','1H 24\'','True','1','0','0','1','0','0','1637954'";     Pattern p = Pattern.compile("'([^,']*?)'");     Matcher m = p.matcher(s);     while(m.find()) {      System.out.println(m.group(1));    } 

热点排行