Javascript Regex:匹配文本不是HTML标记的一部分

iSt*_*efo 6 javascript regex node.js

我真的想要一个在node.js中可执行的正则表达式(所以没有jQuery DOM处理等,因为标签可以有不同的嵌套),它匹配所有不是HTML标签或其中一部分的文本分开组.

例如,我想从该字符串中匹配"5","ELT.","SPR","","plo","Unterricht",""," "和"plo":

<tr class='list even'>
    <td class="list" align="center" style="background-color: #FFFFFF" >
        <span style="color: #010101">5</span>
    </td>
    <td class="list" align="center" style="background-color: #FFFFFF" >
        <b><span style="color: #010101">ELT.</span></b>
    </td>
    <td class="list" align="center" style="background-color: #FFFFFF" >
        <b><span style="color: #010101">SPR</span></b>
    </td>
    <td class="list" style="background-color: #FFFFFF" >&nbsp;</td>
    <td class="list" align="center" style="background-color: #FFFFFF" >
        <strike><span style="color: #010101">pio</span></strike>
    </td>
    <td class="list" align="center" style="background-color: #FFFFFF" >
        <span style="color: #010101">Unterricht</span>
    </td>
    <td class="list" style="background-color: #FFFFFF" >&nbsp;</td>
    <td class="list" style="background-color: #FFFFFF" >&nbsp;</td>
    <td class="list" align="center" style="background-color: #FFFFFF" >
        <b><span style="color: #010101">pio</span></b>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我可以保证标签中没有">".

我发现的解决方案是(?<=^|>)[^><]+?(?=<|$),但这在node.js中不起作用(可能是因为前瞻了?它说"无效组")

有什么建议?(是的,我真的认为正则表达式是正确的方法因为html可能以其他方式嵌套而且内容总是具有相同的顺序,因为它是一个表)

Nar*_*ala 3

尝试 'yourhtml'.replace(/(<[^>]*>)/g,' ')

'<tr class="list Even"><td class="list"align="center" style="background-color: #FFFFFF" ><span style="color: #010101">5</span>< /td><td class="list"align="center" style="background-color: #FFFFFF" ><b><span style="color: #010101">ELT。</span></b> </td><td class="list"align="center"style="background-color:#FFFFFF"><b><span style="color:#010101">SPR</span></b> </td><td class="list" style="background-color: #FFFFFF" > </td><td class="list"align="center" style="background-color: #FFFFFF" >< Strike><span style="color: #010101">pio</span></strike></td><td class="list"align="center" style="background-color: #FFFFFF" >< span style="color: #010101">Unterricht</span></td><td class="list" style="background-color: #FFFFFF"> </td><td class="list" style= “背景颜色:#FFFFFF” > </td><td class="list"align="center" style="背景颜色:#FFFFFF" ><b><span style="color: #010101"> pio</span></b></td></tr>'.replace(/(<[^>]*>)/g,' ')

它将给出您想要匹配的以空格分隔的文本(您可以在空格上拆分)。