这是我想从源代码中删除注释的表达式,它删除了除浏览器特定注释以外的所有注释。
/<\!--(?!\[if).*?-->/s
我不是100%理解正则表达式,但是我通过在Stack中搜索时发现的各种表达式设法将它“ Frankenstein”结合在一起。这就是我看到此表达形式的方式,如果有人可以帮助我进一步理解它,我将非常乐意。
/<\!--
用于搜索我想用斜杠替换的部分以逃避!因为它是表达式的一部分?
(?!\[if)
表示是否不包含[if block?
.*?
通配符,所以说无论中间是什么?
-->
我想让表达式找到的位的结尾。
/s
即使表达式之间有空格也要让表达式运行?
我不想只使用代码,因为它可以满足我的需要,我想真正了解我正在使用的内容,并学习将来如何更好地使用它。
此表达式效果很好,但我需要进一步帮助。在我的资料中,我在脚本标签I.E.中有代码段。
<script type="text/javascript">
<!--
// Main vBulletin Javascript Initialization
vBulletin_init();
//-->
</script>
有没有一种方法可以调整当前的表达方式以排除这些类型的注释?
解决方案很简单。 /<\!--(?!\[if).*?-->/
结尾的s
是使.
匹配换行符的标志。 As you can see, it works without the flag