首页 > 解决方案 > 正则表达式,删除标签之间的文本

问题描述

我需要删除所有不在标签<p></p>. 每个单元格中可以有许多<p>标签。<p>每行前后的内容</p>不同。

例子

<h1>Curly Krans Daggdroppar 30cm LED</h1><h2>Beskrivning</h2><div id="more_info_sheets" class="sheets align_justify"><div id="idTab1" class="rte"><div id="more_info_sheets" class="sheets align_justify"><div id="idTab1" class="rte"><p>En krans med en snygg och intressant design. </p><p>Kransen har 30st ej utbytbara små LED lampor.</p><p>Finns i tre olika färger, välj mellan, koppar, mässing och krom.</p></div></div></div></div>

应该

<p>En krans med en snygg och intressant design. </p><p>Kransen har 30st ej utbytbara små LED lampor.</p><p>Finns i tre olika färger, välj mellan, koppar, mässing och krom.</p>

有人知道怎么做吗?

标签: regexexcelnotepad++

解决方案


您可以使用匹配表达式仅捕获所需的组

标签而不是替换文本的其余部分。然而,这里是正则表达式的另一种选择:

匹配所有 p 组

<p>.*<\/p>

分别匹配每个 p 组

<p>.*?<\/p>

匹配非 p 组

(^.*?(?=<p>))|((?<=<\/p>)<[^p].*)

推荐阅读