有字符串 如下:
abcde fa_ce='dd' size ='eee' color='red' jojojo aaa='ssss' aaa1=ssss希望得到 等号左边的字段(可以使非字母)和右边单引号里面(或没有单引号)的值,结果是:
fa_ce='dd'
size ='eee'
color='red'
aaa='ssss'
aaa1=ssss我写了下面的代码,大虾们帮我看看String matStr1 ="font face='dd' size ='eee' color='red'";Pattern p1 = Pattern.compile("(\\S+)\\s*=\\s*[']([^']+)[']");
Matcher m1 = p.matcher(matStr1);while(m1.find()){
System.out.println("*************************");System.out.println(m1.groupCount());
for (int i = 0;i<=m1.groupCount();i++){
System.out.println(m1.group(i));
}
}
System.out.println("*************************");谢谢,问题出在哪儿呢

解决方案 »

  1.   

    String matStr1 = "font face='dd' size ='eee' color='red'";        Pattern p1 = Pattern.compile("(\\S+)\\s*=\\s*[']([^']+)[']");
            Matcher m1 = p1.matcher(matStr1);        while (m1.find()) {
                System.out.println("*************************");
                System.out.println(m1.group(0));
            }
            System.out.println("*************************");