日期:2014-05-20  浏览次数:20713 次

请问正规表达式取字符{和字符}中间的内容怎么做.
String str="{红色}{黄色}{绿色}"
String str1[] = str.split("怎么做");
用什么表达式得到str1[0]="红色";str[1]="黄色";str[2]="绿色";

------解决方案--------------------
不算很准确
String str = "{红色}{黄色}{绿色}";
String str1[] = str.substring(1,str.length() - 1).split("(\\}\\{)");
------解决方案--------------------
1L的也可以,基本思路就是替换一些字符,再分割
String str="{红色}{黄色}{绿色}";
String str1[] = str.replaceAll("[{]([^{}]*?)[}]", "$1,").split(",");
for (String s : str1) System.out.println(s);
------解决方案--------------------
我也来一个
Java code


String str="{红色}{黄色}{绿色}";
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m =p.matcher(str);
        while(m.find()){
            System.out.println(m.group(1));
        }