Vscode查找&;替换正在更改的HTML代码块

Vscode查找&;替换正在更改的HTML代码块,html,regex,visual-studio-code,Html,Regex,Visual Studio Code,我试图找到正则表达式来替换两个HTML标记之间不断变化的HTML代码块: 例如,我想用指向iframe的链接替换整个表: <h2>Older Blog Links</h2> <h3>2020</h3> <table style="width:100%"> <tr> <td><a href="/media/blog/2020/01/25/202001

我试图找到正则表达式来替换两个HTML标记之间不断变化的HTML代码块:

例如,我想用指向iframe的链接替换整个表:

  <h2>Older Blog Links</h2>
    <h3>2020</h3>
      <table style="width:100%">
        <tr>
          <td><a href="/media/blog/2020/01/25/20200125.html">Saturday Jan 25</a></td>
          <td><a href="/media/blog/2020/01/19/20200119.html">Sunday Jan 19</a></td>
          <td><a href="/media/blog/2020/01/17/20200117.html">Friday Jan 17</a></td>
          <td><a href="/media/blog/2020/01/15/20200115.html">Wednesday Jan 15</a></td>
        </tr>
      </table>
旧博客链接
2020
取代

 <h2>Older Blog Entries</h2>
        <iframe src="/oldbloglinks.html" width="100%" frameborder="0" onload="resizeIframe(this)"
          style="border: none;"></iframe>
较旧的博客条目

上面“查找”部分中的链接发生了变化,因此我希望能够全局替换
开始标记和
标记之间的任何内容。在本例中,您要查找的正则表达式是:

<h2>((.|\n)*)<\/table>
((.|\n)*)
VS代码支持正则表达式基搜索和替换。在搜索字段旁边,选择。*图标。运行搜索并点击“替换”按钮,您就完成了


是一个很好的地方,可以根据一些示例输入来试用正则表达式。

通过代码来实现可能更容易。正则表达式并不是真正用来解析html的…谢谢!在我搜索和尝试过的每件事中,我都忽略了管道这个角色。我有(\n.*)-在这个例子中管道做什么?
(.\n)*
永远不应该被使用。它是整个正则表达式世界中最不幸运、效率最低的一种模式,在某些情况下,它只是一种错误的模式。所以“任意字符”或“新行”的次数是任意的。请参见和。。。这份清单并不全面。你认为这个“有效”,你发布这样一个答案,OP很高兴,然后,在一两天内,网站/代码冻结,OP不明白发生了什么。这是发布这样一个正则表达式时的常见场景。它循环了58个源文件,在不到一秒钟的时间内完成了替换。我随机检查了所有源文件,它似乎工作得很好