You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用正则表达式将HTML中指定文本的包裹标签替换为h2

解决HTML标签替换问题:将纯文本为"hi"的标签替换为h2

需求明确:在压缩后的HTML字符串中,找到**内容完全等于"hi"**的标签,把该标签替换为<h2>。注意只替换内容恰好是"hi"的情况,像<p>hi 123</p>这种包含hi但还有其他内容的不处理。

以下是补全后的完整代码:

var htmlString = `
<h1>title</h1><p>Lorem ipsum dolor quas!</p><p>Lorem ipsum dolor</p><p>hi</p><p>hi 123</p><div>hi</div><span>Lorem ipsum dolor, sit.</span>
`;

const changeTagByText = (html) => {
  const text = "hi";
  // 正则匹配内容恰好为text的标签,替换为h2
  const regex = new RegExp(`<([a-z0-9]+)>${text}<\\/\\1>`, "gi");
  return html.replace(regex, `<h2>${text}</h2>`);
};

console.log(changeTagByText(htmlString));

代码说明

  • 正则表达式<([a-z0-9]+)>hi<\/\1>:
    • <([a-z0-9]+)>:捕获开始标签的标签名(支持字母、数字组成的标签)
    • hi:精确匹配内容为"hi"的情况
    • <\/\1>:反向引用捕获的标签名,确保闭合标签和开始标签一致
    • 修饰符gi:g表示全局匹配所有符合条件的标签,i表示忽略标签名的大小写(比如<DIV>hi</DIV>也能匹配,不需要的话可以去掉i)
  • 使用replace方法将匹配到的标签整体替换为<h2>hi</h2>

运行结果

输出与期望一致:

<h1>title</h1><p>Lorem ipsum dolor quas!</p><p>Lorem ipsum dolor</p><h2>hi</h2><p>hi 123</p><h2>hi</h2><span>Lorem ipsum dolor, sit.</span>

内容的提问来源于stack exchange,提问作者roi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:01:27