Ale*_*der 4 html javascript regex
我有字符串:
'
<tr id="sdf"></tr>
<td>
<div>asdf</div>
asdf
</td>
<tr id="sdfdf">
<td>
<div>asdf</div>
asdf
</td>
</tr>
<tr id="sdf"></tr>
<tr id="ssdfdf">
<td>
<div>asdf</div>
asdf
</td>
</tr>
'
Run Code Online (Sandbox Code Playgroud)
我想tr使用 RegExp 将标签保存到数组中。
只要<tr>标签从不嵌套,您就可以尝试以下操作:
result = subject.match(/<tr[\s\S]*?<\/tr>/g);
Run Code Online (Sandbox Code Playgroud)
<tr>这将为您提供所有标签及其内容的数组。
[\s\S]是 JavaScript 表达“任何字符,包括换行符”的方式,并*?要求零次或多次重复,尝试使用尽可能少的字符以避免同时匹配多个标签。
然而,一旦<tr>标签被嵌套,这种情况就会爆发,这就是正则表达式不是解析标记语言的最佳工具的原因之一(温和地说)。通过解析 DOM,您将获得更可靠的结果。