我正在尝试让Dreamweaver删除2个html评论标记之间的所有内容。我的项目中有很多html页面,底部有一堆js脚本,页面到页面都不同。
例如,假设我有以下html:
<!-- SCRIPTS -->
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="assets/js/custom.js"></script>
<!-- END SCRIPTS -->
我想做一个查找和替换,删除注释标记之间的所有内容,并用新内容替换它:
<!-- SCRIPTS -->
<script src="new-path-for-js-files.js"></script>
<!-- END SCRIPTS -->
我相信这可以通过使用正则表达式实现,但我找不到任何适合我正在寻找的东西。
我非常感谢你对完成这项工作的建议。
非常感谢!
答案 0 :(得分:0)
您可以使用以下regex
<!-- SCRIPTS -->[\s\S]*?<!-- END SCRIPTS -->
<强>解释强>
regex
会查找确切的文字<!-- SCRIPTS -->
和<!-- END SCRIPTS -->
,并尝试匹配其间的所有字符:
\s
是空白字符类(包含任何空白字符,如空格,制表符,换行符); \S
会尝试匹配空白字符类中不的任何内容[\s\S]
是一个字符集,它试图填充它包含的任何字符,所以在这种情况下,这意味着任何字符; *
是一个量词,它会尝试匹配前面的[\s\S]
?
是一个修饰符,它使前面的量词变得懒惰:默认情况下,像*
这样的量词是贪婪的并尝试匹配尽可能多的字符,但是延迟修饰符会更改量词,所以它尝试匹配尽可能少的字符。如果您有多个相同的标签,则必须这样做。你说你想要替换里面的标签(所以保留标签),我的建议regex
不做(它也会匹配 - 从而取代 - 评论标签)。使用regex
使用外观是可能的,但这会使regex
更加困难;只有部分regex
口味(部分)支持外观
我建议您只需在替换代码周围添加注释标记,如果您想将它们保留在源代码中。