我有这段代码:
<table>
<tr class="odd">
<td> 1</td>
<td> 1</td>
<td> 1</td>
</tr>
<tr>
<td> 2</td>
<td> 2</td>
<td> 2</td>
</tr>
<tr class="odd">
<td> 3</td>
<td> 3</td>
<td> 3</td>
</tr>
<tr>
<td> 4</td>
<td> 4</td>
<td> 4</td>
</tr>
</table>
我正在尝试使用正则表达式
获取每个表行内的内容我的模式:<tr(?: class="odd")>[^]+</tr>
但它只匹配上一个tr
标记。
答案 0 :(得分:2)
正则表达式通常都是贪婪的,因此它会在进入正则表达式的</tr>
部分之前尽可能匹配。你可以通过添加?
来不情愿地匹配,例如:
<tr(?: class="odd")>[^]+?</tr>
那就是说,我绝对同意其他人的看法,jQuery(以及其他工具)几乎肯定是更好的解决方案。
答案 1 :(得分:0)
选项是使用jQuery而不是正则表达式吗?
$('table > tr').each(function() {
var trInnerHtml = $(this).html();
alert(trInnerHtml);
});