Regex ersetzen Text außerhalb von HTML-Tags

Ich habe dieses HTML:

"This is simple html text <span class='simple'>simple simple text text</span> text"

Ich muss nur Wörter finden, die sich außerhalb eines HTML-Tags befinden. Ich meine, wenn ich "einfach" und "Text" übereinstimmen möchte, sollte ich die Ergebnisse nur aus "Dies ist einfacher HTML-Text" und dem letzten Teil "Text" erhalten - das Ergebnis ist "einfach" 1 Übereinstimmung, "Text" 2 Streichhölzer. Könnte mir jemand dabei helfen? Ich verwende jQuery.

var pattern = new RegExp("(\\b" + value + "\\b)", 'gi');

if (pattern.test(text)) {
    text = text.replace(pattern, "<span class='notranslate'>$1</span>");
}
value ist das Wort, mit dem ich übereinstimmen möchte (in diesem Fall "einfach")text ist"This is simple html text <span class='simple'>simple simple text text</span> text"

Ich muss alle ausgewählten Wörter (in diesem Beispiel ist es "einfach") mit umbrechen<span>. Aber ich möchte nur Wörter einschließen, die sich außerhalb befindenirgendein HTML-Tags. Das Ergebnis dieses Beispiels sollte sein

This is <span class='notranslate'>simple</span> html <span class='notranslate'>text</span> <span class='simple'>simple simple text text</span> <span class='notranslate'>text</span>

Ich möchte keinen Text darin ersetzen

<span class='simple'>simple simple text text</span>

Es sollte das gleiche sein wie vor dem Austausch.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage