【问题标题】:REGEX - replace text between end tag & start tagREGEX - 替换结束标签和开始标签之间的文本
【发布时间】:2016-05-24 09:02:50
【问题描述】:

我想删除一个 HTML 标记结尾和另一个 HTML 标记开头之间的文本。

页面上的标签之间有不同的文本。当然,页面上也有多个不同的块也可以删除。

</h1>
Section: ab (1)<br>Updated: 2015-05-01<br><a href="file:///home/gareththomasnz/Desktop/VirtualBoxShare/merged.html#2_index">Index</a>
<a href="file:///man/man2html">Return to Main Contents</a><hr>

<p>
<a name="2_lbAB">&nbsp;</a>
</p><h2>

必须删除整个页面中/H1和H2标签之间的所有内容。

尝试了一些方法,但无法正常工作 - 有什么建议吗?

【问题讨论】:

  • 我们不会在回答问题时将 SOLVED 添加到此处的标题中。您通过接受某人提供给您的答案或写下您自己的答案(在下面提供的空白处)并接受它作为解决方案来表示已解决。

标签: regex powergrep


【解决方案1】:

http://sundstedt.se/blog/delete-specific-text-blocks-between-two-characters/

这是一个解决方案

不使用正则表达式删除任意字符之间的随机文本块

【讨论】:

    【解决方案2】:

    打开DOTALL 并使用不情愿的量词:

    Search: (?s)(?<=</h1>).*?(?=<h2>)
    Replace: <blank>
    

    注意:我不熟悉powergrep,所以它可能使用“斜线分隔”的正则表达式语法,所以:

    /(?<=</h1>).*?(?=<h2>)/s
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-12
      • 2011-06-07
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 2014-07-21
      相关资源
      最近更新 更多