我有一个这样的字符串:
{aaaa}{1122bbbb}{cccddd}...即由大括号包起来的一个或几个字符串的集合。
请问我怎么能用正则表达式把它一组组的分离出来呢?要这样的结果:
group(1) = "aaaa";
group(2) = "1122bbbb";
group(3) = "cccddd";
...多谢各位了!
{aaaa}{1122bbbb}{cccddd}...即由大括号包起来的一个或几个字符串的集合。
请问我怎么能用正则表达式把它一组组的分离出来呢?要这样的结果:
group(1) = "aaaa";
group(2) = "1122bbbb";
group(3) = "cccddd";
...多谢各位了!
头和尾先去掉“{”和“}”,然后split("\}\{") 就可以拉
str=str.replaceAll("\\{([^\\{\\}]+)\\}","$1@@@");
String s[]=str.split("@@@");
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
String str="{aaaa}{1122bbbb}{cccddd}";
// str=str.replaceAll("\\{([^\\{\\}]+)\\}","$1@@@");
str=str.substring(1,str.length()-1);
String s[]=str.split("\\}\\{");
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
String a = "\\{\\w+\\}"; String b = "{ada}-{asd3asd}-{asdasd}";
Pattern p = Pattern.compile(a);
Matcher m = p.matcher(b);
while (m.find()) {
String r = b.substring(m.start() + 1, m.end() - 1);
System.out.println(r);
}