JSFiddle - React, Tailwind, and code Playground

by Fernando Leal

JavaScript

// limpa DOM para imprimir
document.body.innerHTML = "";

'<table><thead><tr data-remove="true"><th>{{theadContent}}</th></tr></thead><tbody><tr data-remove="true"><th>{{tbodyContent}}</th></tr></tbody><tfoot><tr data-remove="true"><th>{{tfootContent}}</th></tr></tfoot></table>'.replace(/<(tr)(?: .*?)?\>(?:[^\<]|\<(.*?)\>.*\<\/\2\>)*\<\/\1\>/g, function(m){
    console.log(m);
    // para imprimir do DOM
    document.body.appendChild(document.createTextNode(m));
    document.body.appendChild(document.createElement("br"));
    return m;
});

// se observa a saida ele não está considerando as aberturas e fechamento de tags irmãs, somente esta pegando desde e a primeira tag de abertura até a ultima tag de fechamento, e não isso que é o esperado.