正则表达式交替不起作用

时间:2014-11-20 16:01:43

标签: javascript regex

下午好。

我正在regex101.com网站上测试我的正则表达式。 正则表达式:

<button[^<]*>.*[\s\S]*<\/button>|
<iframe[^<>]*\/>|
<tr>[^<td>]*<\/tr>

测试文字

<table width="30px">
<P>Teste</p><iframe src="teste" /><p>Test</p>
<div><span>Teste Regex</span></div>
<p>Test</p><button onclick="myFunction()">Click me</button>
<table>
<tr><td>34</td></tr>>
</table>

为什么只有<button[^<]*>.*[\s\S]*<\/button>代码匹配? 如果我清除正则表达式的这一部分并且只保留这个:

<iframe[^<>]*\/>|
<tr>[^<td>]*<\/tr>

只有<iframe..匹配

为什么会发生这种情况?我该如何解决?

1 个答案:

答案 0 :(得分:1)

您必须在OR之前删除新行,并设置 G (全局标记)。

<强> Working demo

enter image description here