Regex reemplazar texto fuera de las etiquetas html

Tengo este HTML:

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

Necesito hacer coincidir solo las palabras que están fuera de cualquier etiqueta HTML. Quiero decir que si quiero hacer coincidir "simple" y "texto", debería obtener los resultados solo de "Este es un texto HTML simple" y la última parte "Texto": el resultado será "simple" 1 coincidencia, "texto" 2 partidos. ¿Podría alguien ayudarme con esto? Estoy usando jQuery.

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

if (pattern.test(text)) {
    text = text.replace(pattern, "<span class='notranslate'>$1</span>");
}
value es la palabra que quiero hacer coincidir (en este caso, "simple")text es"This is simple html text <span class='simple'>simple simple text text</span> text"

Necesito envolver todas las palabras seleccionadas (en este ejemplo es "simple") con<span>. Pero quiero envolver solo las palabras que están fueraalguna Etiquetas HTML. El resultado de este ejemplo debe ser

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>

No quiero reemplazar ningún texto dentro

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

Debe ser el mismo que antes del reemplazo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta