【问题标题】:Sublime Text RegEx pattern for text between HTML tags用于 HTML 标记之间的文本的 Sublime Text RegEx 模式
【发布时间】:2013-12-10 03:09:35
【问题描述】:

我正在使用 Sublime Text 进行一些搜索和替换操作。这是我尝试替换的示例

<blockquote><pre><font face="verdana,arial,helvetica" size="1">code:</font><hr><font size="3">
    <h1>Stuff</h1>
    <p>More stuff and a <a href="#">link</a></p>
    <!-- and any HTML really -->
</font><hr></pre></blockquote>

看起来像这样

<blockquote>
    <h1>Stuff</h1>
    <p>More stuff and a <a href="#">link</a></p>
    <!-- and any HTML really -->
</blockquote>

只要blockquote 中的 HTML 仅是单行,以下模式就可以工作。

搜索:

<blockquote><pre><font face="verdana,arial,helvetica" size="1">code:</font><hr><font size="3">(.*?)</font><hr></pre></blockquote>

替换:

<blockquote>$1</blockquote>

我怎样才能使 blockquote 中的多行工作?

编辑:我也遇到了&lt;tag&gt;([\s\S]*?)&lt;/tag&gt;,但其中包括开始/结束标签

【问题讨论】:

    标签: html regex sublimetext


    【解决方案1】:

    我最终使用了(?:&lt;tag&gt;)([\s\S]+?)(?:&lt;/tag&gt;),但我确信有一种更有效的方法可以达到同样的效果

    【讨论】:

    • 感谢这个正则表达式!我检查了数十个具有相同问题的线程,但没有找到任何与标签和新行之间的标签内容匹配的内容。
    【解决方案2】:

    请试试这个:&lt;([/]*(font|pre|hr)+)\s*[^&gt;]*&gt;([code:])*

    【讨论】:

      猜你喜欢
      • 2014-11-13
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      相关资源
      最近更新 更多