日期:2014-05-16  浏览次数:20383 次

求正则,把字符串中所有用{}括起来的字符串搜索出来
大括号要去掉
某某的{面积}是{12345678}平方米

JScript code

var str="某某的面积{是}1234567{8平方米}";
var _reg = /\{(.*?)\}/g;

var matchs= null;
matchs=str.match(_reg);



我这样写是包括大括号的

------解决方案--------------------
JScript code
var test_value = document.getElementById('a').value;
    var reg = /\{([^\{\}]*)\}/gi;
    var aaa = test_value.match(reg);
    var reg2 = /[\}\{]/g;
    for(var i=0;i<aaa.length;i++){
        var bb = aaa[i].replace(reg2,"");
        alert("bb="+bb);
    }

------解决方案--------------------
var str="某某的面积{是}1234567{8平方米}";
var _reg = /\{(.*?)\}/g;


var matchs= null;
while(matchs=_reg.exec(str)){
alert(matchs[1]);
}


------解决方案--------------------
[code JScript]var test_value = document.getElementById('a').value;
var reg = /\{([^\{\}]*)\}/gi;
var aaa = test_value.replace(reg,function($1,$2){
alert("$2="+$2);
});[/code]
这个alert部分是把大括号内的都单独取出来了,可是这个怎么把需要的值取出去呢?
------解决方案--------------------
str.match(/[^{]+(?=\})/g)

不严谨,不赞同这样做
------解决方案--------------------
JScript code
var str="某某的面积{是}1234567{8平方米}";
var reg=/{([^}]*)}/g;
var result=[];
while(t=reg.exec(str))
   result.push(t[1]);
alert(result);