求正则匹配出这样的TABLE中的每行数据

check1099 2013-07-21 04:53:47
当表格有数据时候,我需要返回表格中除表头外的两行业务数据(即成交编号是HU333333和88333333这两条),每个字段返回文本类型即可。页面内还有其他table,不过和这个table样式不同(width、cellpadding等不尽相同),希望可以只匹配这个table


<table width="98%" border="0" align="center" cellpadding="1" cellspacing="1" class="subtable1">
<!-- <tr >
<td class="trade-title" height="25" colspan="9"><img src="../pic/arrow2.gif" width="7" height="10">
以下是资金帐户 333333333333 的当天成交情况</td>
</tr>-->
<tr align="center">
<td height="25" class="subtable1-head">股东代码</td>
<td height="20" class="subtable1-head">证券名称</td>
<td height="20" class="subtable1-head">证券代码</td>
<td class="subtable1-head">成交编号</td>
<td class="subtable1-head">委托序号</td>
<td class="subtable1-head">交易类型</td>
<td class="subtable1-head">成交价</td>
<td class="subtable1-head">成交数</td>
<td class="subtable1-head">成交额</td>
<td class="subtable1-head">成交时间</td>
</tr>


<tr align="center" class="table1-alternate2">

<td height="25">A333333333 </td>
<td height="20">中国某券</td>
<td height="20">999999</td>
<td>HU333333</td>
<td>88885555</td>
<td>买入</td>
<td>10.25</td>
<td>200</td>
<td>2050</td>
<td>2013-07-08</td>
</tr>

<tr align="center" class="table1-alternate2">

<td height="25">A333333333 </td>
<td height="20">越卖越跌</td>
<td height="20">555555</td>
<td>88333333</td>
<td>GA885555</td>
<td>卖出</td>
<td>2.25</td>
<td>1000</td>
<td>2250</td>
<td>2013-07-09</td>
</tr>

</table>


当表格一行数据也没有时候,table嵌套了table,提示“没有记录”,碰到这个我只需正则表达式返回0条匹配记录即可。


<table width="98%" border="0" align="center" cellpadding="1" cellspacing="1" class="subtable1">
<!-- <tr >
<td class="trade-title" height="25" colspan="9"><img src="../pic/arrow2.gif" width="7" height="10">
以下是资金帐户 333333333333 的当天成交情况</td>
</tr>-->
<tr align="center">
<td height="25" class="subtable1-head">股东代码</td>
<td height="20" class="subtable1-head">证券名称</td>
<td height="20" class="subtable1-head">证券代码</td>
<td class="subtable1-head">成交编号</td>
<td class="subtable1-head">委托序号</td>
<td class="subtable1-head">交易类型</td>
<td class="subtable1-head">成交价</td>
<td class="subtable1-head">成交数</td>
<td class="subtable1-head">成交额</td>
<td class="subtable1-head">成交时间</td>
</tr>


<tr >
<td class="table1-alternate2" colspan="10"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="list-alternate1">
<td>没有记录</td>
<td align="right"></td>
</tr>
</table></td>
</tr>

</table>
...全文
266 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
check1099 2013-07-23
  • 打赏
  • 举报
回复
4# 多谢回复,我那个是ajax获取的表格,遍历tr td里为空 所以我希望用正则抓取 估计正则也比遍历速度快一点吧 5# 多谢回复,结贴。
hch126163 2013-07-23
  • 打赏
  • 举报
回复
先获取: <tr align="center" class="table1-alternate2">([\d\D]+?)</tr> 再循环获取: <td.*?>([\d\D]+?)</tr>
似梦飞花 2013-07-23
  • 打赏
  • 举报
回复
操作dom简单点啊 遍历tr试试 根据他的第6个子元素查看是不是有买入或卖出,然后去取要的那个子元素的值试试
check1099 2013-07-23
  • 打赏
  • 举报
回复
up~~~~~~~~~~~~~~~~~~
check1099 2013-07-22
  • 打赏
  • 举报
回复
up~~~~~~~~~~~~~~~~~~
check1099 2013-07-21
  • 打赏
  • 举报
回复
请帮帮忙!~

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧