匹配对象如:
<table>
<tr>
<td rowspan="2">aaa</td>
</tr>
<tr>
<td>bbb</td>
<td>ccc</td>
</tr>
</table>
要匹配<td rowspan="2">aaa</td> 和 <td>bbb</td>
该如何写正则?
为什么要用正则呢?
$("table tr").find("td:eq(0)")
这个也可以啊!
js的正则没有逆向环视,所以我只能这么写,你取第一组,你自己去转义吧:
<tr>\s*(<td[^/]*?</td>)
跟次序和计数有关的用正则表达式来很难写,
var reg = /<tr>(<td.*?>.+?<\/td>).*?<\/tr>/g
reg.exec('<table><tr><td rowspan="2">aaa</td></tr><tr><td>bbb</td><td>ccc</td></tr></table>')
//["<tr><td rowspan="2">aaa</td></tr>", "<td rowspan="2">aaa</td>"]
reg.exec('<table><tr><td rowspan="2">aaa</td></tr><tr><td>bbb</td><td>ccc</td></tr></table>')
//["<tr><td>bbb</td><td>ccc</td></tr>", "<td>bbb</td>"]