Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式:匹配文本不是HTML标记的一部分_Javascript_Regex_Node.js - Fatal编程技术网

Javascript正则表达式:匹配文本不是HTML标记的一部分

Javascript正则表达式:匹配文本不是HTML标记的一部分,javascript,regex,node.js,Javascript,Regex,Node.js,我真的希望在node.js中有一个可执行的正则表达式(因此没有jQuery DOM处理等,因为标记可以有不同的嵌套),它将所有不是HTML标记或其一部分的文本匹配到不同的组中 例如,我想匹配“5”、“ELT”、“SPR”、“plo”、“Unterricht”、“ELT”、“SPR”和“plo” 从该字符串: <tr class='list even'> <td class="list" align="center" style="background-color: #F

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

例如,我想匹配“5”、“ELT”、“SPR”、“plo”、“Unterricht”、“ELT”、“SPR”和“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>

5.
英语教学。
SPR
pio
安特里希特
pio
我可以保证标签中不会有“>”

我找到的解决方案是
(?)[^>尝试“yourhtml”。替换(/(]*>)/g',)

“5ELT.SPRpioUnterrichtpio”。替换(/(]*>)/g”“)
它将提供您想要匹配的以空格分隔的文本(可以在空格上拆分)。

也许您可以直接使用标记本身拆分:

html.split(/<.*?>/)
html.split(//)

之后,您必须从结果中删除空字符串。

我喜欢链接到这是您要找的吗?您不能使用正则表达式解析HTML(这是@NimChimpsky给您的链接的要点),因为HTML不是一种正则语言。任何单独使用正则表达式解析HTML的尝试都将失败。您别无选择,只能实际解析HTML。@rfausak:不,因为OP明确表示它们不是在浏览器中运行的。如果您希望根据周围的上下文匹配某些内容,并且没有可用的查找工具,则。。。不,是的,我会这么做的,谢谢。但我会使用一个漂亮的UTF-8字符或其他东西,因为我的值可能也包含空格,我想。。。
html.split(/<.*?>/)