JavaScript中正则语法的嵌套替换
这篇文章主要介绍"JavaScript中正则语法的嵌套替换",在日常操作中,相信很多人在JavaScript中正则语法的嵌套替换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JavaScript中正则语法的嵌套替换"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
复制代码 代码如下:
中
都替换为
?
思考
该问题的难点之一在于JavaScript支持的正则特性实在有限。楼主已经想到了非JavaScript的解法,如下:
复制代码 代码如下:
re=/(?<=
alert (sourcestr.replace(re,"
"));
嗯,思路大致是这样。较真起来,即使JavaScript支持逆序环视,上面答案并不能够如愿运行。原因是带有量词的逆序环视(即在(?<=)里面使用?, *, +, {}这样的量词)是更高级的的语法,极少有语言能够支持(特例是.Net)。
但是,像楼主这样的正则问题应该是很普便的一个问题,我们经常需要循环地替换一些内容。该如何解答呢?
思路一
阅读JavaScript的文档,我找到了lastIndex这样的东东。根据这个东东,我形成了这样的思路:
•先按外层循环,找到第一组较大的匹配。正则代码是