【问题标题】:Find multiline HTML comment with regex?使用正则表达式查找多行 HTML 注释?
【发布时间】:2014-08-13 08:57:06
【问题描述】:

我正在尝试使用 Sublime Text 2 查找和替换这个 html 结构。

问题

如何在代码示例中选择整个内容:

<!-- FOOTER --> ... everything in between ... <!-- /FOOTER -->

代码示例

<!-- FOOTER -->
<footer id="footer">
    <div class="container">

        <div class="row">

            <!-- col #1 -->
            <div class="dark col-md-3">

            </div>
            <!-- /col #1 -->

            <!-- col #2 -->
            <div class="col-md-3 col-sm-4">

            </div>
            <!-- /col #2 -->

            <!-- col #3 -->
            <div class="spaced col-md-3 col-sm-4">

            </div>
            <!-- /col #3 -->

        </div>

    </div>

    <hr />

</footer>
<!-- /FOOTER -->

我尝试过的

我试过了,但当然不行:

.*<!-- FOOTER -->(.*?)<!-- /FOOTER -->

【问题讨论】:

    标签: regex sublimetext2


    【解决方案1】:

    将其修改为单行正则表达式,并转义反斜杠:

    (?s).*<!-- FOOTER -->(.*?)<!-- \/FOOTER -->
    

    这是regex demo

    【讨论】:

    • 太棒了!感谢您的帮助! regex101.com 非常好。我将开始将它用于所有正则表达式。学习的好方法。
    • 我不知道内联修饰符 thx(而且网站很棒!)。顺便说一句,您实际上不需要在 FOOTER 前面使用.*。是的,您的问题是 . 不包含 '\n' 字符。内联修饰符有效,您也可以将其包含在您的捕获组中。
    • @Unihedron 当然,你的答案是完美的。这比包含换行符要好。我只是想指出这一点,因为我觉得在某些情况下,在正则表达式中添加这个字符会更容易,而不是使用 inline 修饰符。不过我肯定会使用你的解决方案。
    猜你喜欢
    • 2011-10-28
    • 2011-02-04
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2014-10-15
    • 1970-01-01
    • 2013-08-22
    相关资源
    最近更新 更多