0 0

请教这个正则怎么写5

var str="
{@if i>0}
a
{@else i==0}
b
{@else}
c
{@/if}";
这是一个if  else if   else的判断 
现在想获取值 
var ifReg=new RegExp('{@if\\s*([^}]*?)}\\s*([^]*)\\s*?{@\\/if}','igm');//这是正则。但是获取到全部。。。
改成获取{@if}{@else if}是可以获取值,但感觉还要获取{@if else}很麻烦  怎么能吧他改成获取最小范围值  比如只有一个{@if}{@/if} 就获取if里的值 如果有{@else if} 获取的是{@if}到{@else if}间的值以此类推{@else}
诡求解答
2012年9月07日 10:12

1个答案 按时间排序 按投票排序

0 0

var reg= /(}[\s]*(.*?)[\s]*{)/img;

		while ((result = reg.exec(str)) != null)  {
		  document.write(result[2]);
		  document.write("<br />");
		}

2012年9月07日 12:39

相关推荐

Global site tag (gtag.js) - Google Analytics