RegEx获取tr标签

时间:2011-02-23 11:05:37

标签: javascript html 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>
'

我想使用RegExp将tr标签保存到数组中。

1 个答案:

答案 0 :(得分:3)

只要<tr>标签永远不会嵌套,您可以尝试这样做:

result = subject.match(/<tr[\s\S]*?<\/tr>/g);

这会为您提供所有<tr>标记及其内容的数组。

[\s\S]是说“任何字符,包括换行符”的JavaScript方式,而*?要求重复零次或多次,尝试尽可能少地使用以避免在多个标记之间进行匹配马上。

一旦<tr>标签嵌套,这就会爆发,这也是正则表达式不是解析标记语言的最佳工具(温和地说)的原因之一。通过解析DOM,您将获得更可靠的结果。