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

利用正则表达式, 把
{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楼的代码。
虽然实现了我要求的功能,但其实并不是我真正想要的

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

加支付宝好友偷能量挖...


评论(0)网络
阅读(187)喜欢(0)正则表达式