Javascript 用于替换多个HTML标记的正则表达式

Javascript 用于替换多个HTML标记的正则表达式,javascript,regex,regex-negation,regex-group,regex-greedy,Javascript,Regex,Regex Negation,Regex Group,Regex Greedy,我试图找到一个正则表达式,它将匹配多个html标记,排除中间的内容,以便包装标记可以被不同的html标记替换。此替换需要处理一个大型HTML文档,其中有许多相同的实例。。。格式 当前HTML 所需的HTML 我已经找到了一个匹配完整字符串的正则表达式,但我不确定如何排除标题内容,然后如何最好地替换外部标记 到目前为止,我拥有的最好的正则表达式是:/]*>.*?/g用于用新格式化的div替换div […document.queryselectoral'div>strong'].forEachit

我试图找到一个正则表达式,它将匹配多个html标记,排除中间的内容,以便包装标记可以被不同的html标记替换。此替换需要处理一个大型HTML文档,其中有许多相同的实例。。。格式

当前HTML 所需的HTML 我已经找到了一个匹配完整字符串的正则表达式,但我不确定如何排除标题内容,然后如何最好地替换外部标记

到目前为止,我拥有的最好的正则表达式是:/]*>.*?/g

用于用新格式化的div替换div

[…document.queryselectoral'div>strong'].forEachitem=>{ //项目是“强”元素 //创建一个新的div 让div=document.createElement'div' //向div添加标题类 div.classList.add'heading' //设置div的文本 div.innerHTML=item.innerHTML //用新div替换“strong”元素父级 item.parentNode.replaceWithdiv } .标题{ 字体大小:20px; 字体大小:粗体; } 标题 其他一些内容 标题标题2 更多内容
您使用的regexp应该可以工作。您可以使用$1将捕获组复制到结果

常量html=` 标题 其他一些内容 标题标题2 更多内容 `; const new_html=html.replace/]*>.*;
console.lognew_html;您需要Reg Ex而不只是替换字符串中的基本内容,有什么原因吗?
<div>
  <div><strong>Heading</strong></div>
  <div>Some other content<div>
  <div><strong>Heading Title 2</strong></div>
  <div>Some more content</div>
</div>
<div>
  <div class="heading">Heading</div>
  <div>Some other content<div>
  <div class="heading">Heading Title 2</div>
  <div>Some more content</div>
</div>