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

求一正规表达式
"\\{{1}.\\}{1} ",

"3453454351{2}11{345}$Goodfdf678()) "

我是想输出出的结果是
2

345

就是大括号内的任意个数的字符,但我上面的那个表达式,出来的结果是{2},{345}
请问怎样把大括号去掉?



------解决方案--------------------
噢。。
<script type= "text/javascript ">
var s = "3453454351{2}11{345}$345}Goodfdf678()) ";
s = s.replace(/.*?\{(\d+)\}[^\{]*/g, "$1, ");
s = s.match(/\d+(?=,)/g);
alert(s);
</script>
JS只有反向预查。所以只能这么取。或者捕获。。。
------解决方案--------------------
str = "3453454351{2}11{345}$Goodfdf678()) ";
re = /[^{]*\{([^}]*)\}/g;
while(re.exec(str))alert(RegExp.$1);