=波波日志 > 正则表达式 > 正则表达式 匹配对应的括号=

[转]正则表达式 匹配对应的括号

利用正则表达式, 把
{abcd}efg{A{B{C}D{EF}G}H}hijk{lm{nop}}
替换成
{}efg{}hijk{}
也就是把最外层的大括号里面的内容清空



lip009
深蓝忧郁

JScript code
+展开
-JavaScript
var str="{abcd}efg{A{B{C}D{EF}G}H}hijk{lm{nop}}";
var reg=/\{([^\{\}]*(\{[^\{\}]*\})?[^\{\}]*)*\}/g;
var result="";
while(result.length!=str.length){
    result=str;
    str=str.replace(reg,"{}");
}
alert(result);




cgisir


+展开
-JavaScript
   var str = '{abcd}efg{A{B{C}D{EF}G}H}hijk{lm{nop}}'
    var reg = /\{(?:[^\{]*?|.*?\{.*?\}[^{]*)\}/g; 
    var rs = str.replace(reg,'{}');
    alert(rs); // {}efg{}hijk{}




youfayoutian
发表于:2008-09-24 17:31:207楼 得分:0
仔细研究了下3楼的代码。
虽然实现了我要求的功能,但其实并不是我真正想要的

比如我想把最外层的大括号里面的内容拿出来瞧瞧,
又或者是替换成其它内容,将无法实现

类别:正则表达式 作者:转载 日期:2009-07-01 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090