我有字符串:
'
<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>
'
我想使用RegExp将tr
标签保存到数组中。
答案 0 :(得分:3)
只要<tr>
标签永远不会嵌套,您可以尝试这样做:
result = subject.match(/<tr[\s\S]*?<\/tr>/g);
这会为您提供所有<tr>
标记及其内容的数组。
[\s\S]
是说“任何字符,包括换行符”的JavaScript方式,而*?
要求重复零次或多次,尝试尽可能少地使用以避免在多个标记之间进行匹配马上。
一旦<tr>
标签嵌套,这就会爆发,这也是正则表达式不是解析标记语言的最佳工具(温和地说)的原因之一。通过解析DOM,您将获得更可靠的结果。