Javascript 正则表达式从字符串中查找并替换特定元素

Javascript 正则表达式从字符串中查找并替换特定元素,javascript,regex,html,Javascript,Regex,Html,我需要一些帮助 我有来自innerHTMLdiv的字符串 <div class="class-1"> <div class="class-1"> <div class="class-bla-bla class-find">Replace this div</div> <div class="class-another">Hello World!</div> </div>

我需要一些帮助

我有来自
innerHTML
div的字符串

<div class="class-1">
    <div class="class-1">
     <div class="class-bla-bla class-find">Replace this div</div>
     <div class="class-another">Hello World!</div>
    </div>

    <div class="class-2">

       <div class="class-2 class-find">Replace this div</div>
       <div class="class-no-replace">No replace</div>

    </div>
    <div class="class-somthing class-find">Replace this div</div>

</div>

替换这个div
你好,世界!
替换这个div
无可替代
替换这个div
我想使用正则表达式查找所有元素,并用
类名class find
替换所有元素,并将innerHTML字符串存储到数据库中,而不改变实际的HTML DOM,我试图找到解决方案,但我找不到任何适合我的情况的好答案,请帮我解决这个问题


注意:我发现了一些示例正则表达式,只有当元素只有一个类而不是多个类时,这才有效。

因为正则表达式不是用来解析HTML的。为此,您可以使用
DOMParser
API

let d=new DOMParser();
让我们=`
替换这个div
你好,世界!
替换这个div
无可替代
替换这个div
`;
让doc=d.parseFromString(s'text/html');
让divs=doc.querySelectorAll('.class find');
设html=[];
divs=divs.forEach(e=>{
html.push(e.innerHTML);
});

log(html)为什么不改用标准DOM操作,比如使用
querySelector
?最好不要尝试用正则表达式解析非平凡的HTML。请不要为此使用正则表达式。JavaScript是一种高效的HTML解析器,请使用它。然后使用
DOMParser
并继续使用DOM操作方法。也许您需要更好地解释您的问题/您希望做什么,因为“我希望将替换的字符串存储到db中,但不更改实际的DOM HTML视图”不是在DOM操作上使用正则表达式的有效原因。没有任何正则表达式可以做DOM操作做不到的事情。但是有很多DOM操作是regex做不到的。使用regex刮取html内容并替换某些内容也是DOM操作——只是不能使用内置的DOM操作方法!