如何写出不同行开始和结束的正则表达式,这些行里面只有一个匹配的词

How to write RegEx which starts and ends on different lines, these lines include one matching word only inside

我想替换同一个文件和其他文件上的 3 行代码组 使用 notepad++ 查找和替换具有正则表达式 (regex) 的功能的文件 我想 select 这些行的唯一共同点是它们在最后一行包含相同的词 "mailicon4.gif",我想 select 所有最后一行,我想要那个selection 以 "a class=" 标签开头,该标签早 2-3 行。我用 find 复制了我想要 select 的部分,并用 "" 替换以删除它。

我已经尝试过这样的代码,例如: ?maili.?$\R

它select是最后一段,但不是从最后一段开始的"

    <a class="nonblock nontext" id="u209382" href="mailto:info@example.com">
      <!-- rasterized frame --><img class="temp_no_img_src" id="u209382_img" alt="" width="66" height="66"
        data-orig-src="images/mailicon4-u209382.png?crc=143036675" src="images/mailicon4.gif?crc=4208392903" /></a>
  • Ctrl+F
  • 查找内容:<a (?:(?!</a>).)*mailicon4\.gif.*?</a>
  • 替换为:</code> # a space 然后 $1</li> <li><em>选中环绕</em></li> <li><em>检查正则表达式</em></li> <li><em>检查 <code>. matches newline

解释:

<a                  # start tag
(?:(?!</a>).)*      # 0 or more any character, but not </a>
mailicon4\.gif      # literally
.*?                 # 0 or more any character, not greedy
</a>                # literally

Demo