js正则表达式匹配字符串问题,如何修改
vard="1[ddd]sfdsaf$$ccc$$fdsa$$f[bb$$bb]";varpatt=/(\$\$)[^\]]+(\$\$)/g;varresult=d.m...
var d = "1[ddd]sfdsaf$$ccc$$fdsa$$f[bb$$bb]";
var patt = /(\$\$)[^\]]+(\$\$)/g;
var result = d.match(patt);
期望结果$$ccc$$,$$f[bb$$
实际结果$$ccc$$fdsa$$f[bb$$ 展开
var patt = /(\$\$)[^\]]+(\$\$)/g;
var result = d.match(patt);
期望结果$$ccc$$,$$f[bb$$
实际结果$$ccc$$fdsa$$f[bb$$ 展开
1个回答
展开全部
你的js正则表达式我帮你修改了一下,主要是把贪婪模式(+)改成非贪婪模式(+?)
把小括号去掉,把非中括号[^\]]改成非美元符号[^\$]
更改后的js正则表达式 /\$\$[^\$]+?\$\$/g
完整的javascript程序如下
<script type=text/javascript>
var d = "1[ddd]sfdsaf$$ccc$$fdsa$$f[bb$$bb]";
var patt = /\$\$[^\$]+?\$\$/g;
var result = d.match(patt);
alert(result);
</script>
运行结果
$$ccc$$,$$f[bb$$
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询