当前页面: 开发资料首页 → J2SE 专题 → 请教一个正则表达式
请教一个正则表达式
摘要: 请教一个正则表达式
我有一个这样的字符串:
{aaaa}{1122bbbb}{cccddd}...
即由大括号包起来的一个或几个字符串的集合。
请问我怎么能用正则表达式把它一组组的分离出来呢?
要这样的结果:
group(1) = -#34;aaaa-#34;;
group(2) = -#34;1122bbbb-#34;;
group(3) = -#34;cccddd-#34;;
...
多谢各位了!
头和尾先去掉“{”和“}”,然后split(-#34;/}/{-#34;) 就可以拉
String a = -#34;//{[0-9a-zA-Z]*//}-#34;;
正则表达式嘛,不懂太多,帮顶。
String str=-#34;{aaaa}{1122bbbb}{cccddd}-#34;;
str=str.replaceAll(-#34;//{([^//{//}]+)//}-#34;,-#34;$1@@@-#34;);
String s[]=str.split(-#34;@@@-#34;);
for(int i=0;i-#60;s.length;i++){
System.out.println(s[i]);
}
或者:
String str=-#34;{aaaa}{1122bbbb}{cccddd}-#34;;
// str=str.replaceAll(-#34;//{([^//{//}]+)//}-#34;,-#34;$1@@@-#34;);
str=str.substring(1,str.length()-1);
String s[]=str.split(-#34;//}//{-#34;);
for(int i=0;i-#60;s.length;i++){
System.out.println(s[i]);
}
谢谢各位了,马上试试看~~
String a = -#34;//{//w+//}-#34;;
String b = -#34;{ada}-{asd3asd}-{asdasd}-#34;;
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);
}
一试验就出结果了,呵呵。
来晚了,方法很多啊,呵呵。
搞定,谢谢各位了