![如何在 notepad++ 中找到包含内容的精确的打开和关闭(可能是其间的关闭标签数)标签并替换?](https://linux22.com/image/1606114/%E5%A6%82%E4%BD%95%E5%9C%A8%20notepad%2B%2B%20%E4%B8%AD%E6%89%BE%E5%88%B0%E5%8C%85%E5%90%AB%E5%86%85%E5%AE%B9%E7%9A%84%E7%B2%BE%E7%A1%AE%E7%9A%84%E6%89%93%E5%BC%80%E5%92%8C%E5%85%B3%E9%97%AD%EF%BC%88%E5%8F%AF%E8%83%BD%E6%98%AF%E5%85%B6%E9%97%B4%E7%9A%84%E5%85%B3%E9%97%AD%E6%A0%87%E7%AD%BE%E6%95%B0%EF%BC%89%E6%A0%87%E7%AD%BE%E5%B9%B6%E6%9B%BF%E6%8D%A2%EF%BC%9F.png)
如果我使用正则表达式来查找精确的开始和结束标记(即使有回车标记),它只会找到开始和结束标记
正则表达式:
<del.*?</del>
但应该找到下面精确的开头<del>
和最后的精确的结尾</del>
。(例如,如果我们选择一个标签,它将突出显示精确的结束标签)
<del cite="FA12-38-5" id="FA12-38-5-d">
<h2 class="l00 r00 t04 b00 c y x">PART 2</h2>
<p class="l01 r00 t01 b00 j z x"><span class="o1">10. </span>Except <del cite="FA01-sched5-328" id="FA01-sched5-328-d">£2.50</del><ins cite="FA01-sched5-328" id="FA01-sched5-328-i">€3.50</ins>, but such dividends shall be assessed and charged under Case III of <a href="sec0018.html" class="i01">Schedule D</a>.</p></del>
答案1
Stackoverflow 上已经有针对此问题的答案:https://stackoverflow.com/questions/546433/regular-expression-to-match-balanced-parentheses
正则表达式不适合这个工作,因为您正在处理嵌套结构,即递归。
但有一个简单的算法可以做到这一点,我在这个答案回到上一个问题