查找并更改包含四位数年份的HTML标记,同时保留文本内容不变

时间:2015-02-23 19:59:46

标签: html regex

我正在寻找<p>代码之间的四位数年份。然后,我想将<p>标记切换为<h1>。我可以使用<p>\d{4}</p>找到它们,但是如何将<p></p>替换为<h1></h1>并保持年份完整?

我有一个本地保存的html文件,它有100多年的时间分散在一个大文件中。我只需要在年份段落上将p标签切换为h1,这些年份总是为4位数年份。我将使用文本编辑器执行此操作,然后实时上传文件。

我的文本编辑器是 - Visual Studio,Sublime,Dreamweaver和Notepad ++。

2 个答案:

答案 0 :(得分:1)

如果您使用vim,请转到此处:

:%s/<p>\(\d\{4\}\)<\/p>/<h1>\1<\/h1>/g

以上表达式means:在s的每个匹配项(%)中替换(g)第一个带括号的<p>(\d{4})</p>\1标记包围的表达式<h1>({的特殊转义只是因为vim想要它)

或者,如果您使用其他编辑器接受正则表达式来搜索和替换引用:

  • 搜索:<p>(\d{4})</p>
  • 替换为:<h1>BR_1</h1>其中BR_1是编辑器中的后引用符号(例如$1\1等。)

答案 1 :(得分:0)

您可以尝试这样的事情:

if (regex match) {
    $("p").replaceWith('<h1>' + $("p").html() + '</h1>');
}

https://jsfiddle.net/lemoncurry/oL0dcqnu/