【问题标题】:Find and replace between html comment tags in dreamweaver在 Dreamweaver 中的 html 注释标签之间查找和替换
【发布时间】:2017-12-31 04:27:49
【问题描述】:

我正在尝试让 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 -->

我相信这可以通过使用正则表达式来实现,但我找不到任何适合我正在寻找的东西。

非常感谢您对完成这项工作的建议。

非常感谢!

【问题讨论】:

    标签: html regex replace find dreamweaver


    【解决方案1】:

    您可以使用以下regex 匹配评论标签,包括它们周围的内容:

    <!-- SCRIPTS -->[\s\S]*?<!-- END SCRIPTS -->
    

    说明:
    regex 查找确切的文本 &lt;!-- SCRIPTS --&gt;&lt;!-- END SCRIPTS --&gt;,并尝试匹配其间的所有字符:

    • \s 是空白字符类(包含任何空白字符,如空格、制表符、换行符);
    • \S 将尝试匹配空白字符类中 not 的任何内容
    • [\s\S] 是一个字符集,它试图匹配它包含的任何字符,所以在这种情况下,它意味着任何字符;
    • * 是一个量词,它试图匹配 0 个或多个前面的标记 [\s\S]
    • ? 是一个修饰符,它使前面的量词变得惰性:默认情况下,像 * 这样的量词是贪婪的,会尝试匹配尽可能多的字符,但是惰性修饰符会更改量词,因此它会尝试匹配尽可能少的字符可能的。如果您有多个相同的标签,这是必要的。

    你说你想替换代码 inside 标签(所以保留标签),我建议的 regex 没有这样做(它也会匹配 - 并因此替换 - 评论标签)。 regex 可以使用环视,但这会使regex 更加困难;并且只有部分 regex 风味(部分)支持环视。
    如果您想将它们保留在源代码中,我建议您只需在替换代码周围添加注释标签。

    【讨论】:

    • 我必须说这真是太棒了!!!!我已经失去希望了,哈哈……非常感谢!!!
    猜你喜欢
    • 2022-01-06
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 2020-10-10
    相关资源
    最近更新 更多