Регулярные выражения не могут обрабатывать вложенность, по крайней мере, регулярные выражения JavaScript не могут (а те, которые могут, такие как .NET и PCRE, нелегко ручка).
Это могло работать, только если есть только один внешний тег будет соответствовать всему, от самого первого
/<div>.*<\/div>/s`
в вашем документе.
Вы хотите удалить элемент Перво-наперво; изучи ДОМ! ... удалит элемент
var aReferenceToMyDiv = document.getElementById('foo');
aReferenceToMyDiv.parentNode.removeChild(aReferenceToMyDiv);
<div id="foo">
<span>...</span>
other stuff...
</div>
Нашел решение:
replace(/<div[^>]*?>[\s\S]*?<\/div>/gi, "")
Обратитесь к: Я ищу регулярное выражение для удаления заданного (x)HTML-тега из строки