正規表現で属性やネストのあるタグを正確に検査することは困難です
DOMで処理することをおすすめします
sample
javascript
1const html=`aaa<div data-test="<>">bbb
2<span>ccc</span>
3<span>ddd<span>eee</span>eee</span>fff
4</div>ggg`;
5let parser = new DOMParser();
6let doc = parser.parseFromString(html, "text/html");
7const txts=[...doc.querySelectorAll('body,body *')].map(x=>[...x.childNodes].filter(x=>x.nodeType==3).map(x=>x.nodeValue)).flat();
8console.log(txts);