当表格有数据时候,我需要返回表格中除表头外的两行业务数据(即成交编号是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>

解决方案 »

  1.   

    操作dom简单点啊  遍历tr试试  根据他的第6个子元素查看是不是有买入或卖出,然后去取要的那个子元素的值试试
      

  2.   

    先获取:
     <tr align="center" class="table1-alternate2">([\d\D]+?)</tr>再循环获取:
    <td.*?>([\d\D]+?)</tr>
      

  3.   

    4#
    多谢回复,我那个是ajax获取的表格,遍历tr td里为空 所以我希望用正则抓取 估计正则也比遍历速度快一点吧5#
    多谢回复,结贴。