在一个table里有可能又嵌套了table,要求取出最外层的所有行的数组。
如第一个就应该是
<tr>
                <td style="width: 174px">
                    a</td>
                <td>
                    n</td>
                <td>
                    l</td>
            </tr>示例Table:<table border="1" style="width: 557px">
            <tr>
                <td style="width: 174px">
                    a</td>
                <td>
                    n</td>
                <td>
                    l</td>
            </tr>
            <tr>
                <td style="width: 174px">
                    <table border="1" style="width: 139px">
                        <tr>
                            <td style="height: 21px">
                            </td>
                            <td style="height: 21px">
                            </td>
                            <td style="height: 21px">
                            </td>
                        </tr>
                        <tr>
                            <td>
                            </td>
                            <td>
                                d</td>
                            <td>
                            </td>
                        </tr>
                        <tr>
                            <td>
                            </td>
                            <td>
                            </td>
                            <td>
                            </td>
                        </tr>
                    </table>
                </td>
                <td>
                </td>
                <td>
                    <table border="1" style="width: 156px">
                        <tr>
                            <td>
                            </td>
                            <td>
                            </td>
                            <td>
                            </td>
                        </tr>
                        <tr>
                            <td>
                            </td>
                            <td>
                                dd</td>
                            <td>
                            </td>
                        </tr>
                        <tr>
                            <td>
                            </td>
                            <td>
                            </td>
                            <td>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td style="width: 174px">
                </td>
                <td>
                </td>
                <td>
                </td>
            </tr>
        </table>

解决方案 »

  1.   

    楼主:正则表达式跟你写的Table有什么联系????看不明白!
      

  2.   

    这个只能通过程序解决吧,设定int i=0和 string str,读取<table时i+1,并且str开始记录(具体的还需要去掉<table >的内容);</table>读取时i-1,当i=0时str就是你要的。
    基本思路就是这样把
      

  3.   

    hy_lihuan的思路不错,这样应该可以出来。我可以试试。
    不过如果正则可以解决那是再好不过了。
      

  4.   

    表达式:
    <tr[^>]*>(?:(?:\s|\S)*?(?=<table|</tr>)(?(<table)<table[^>]*>(?:\s|\S)*?(?:</table>|(?:(?:<table[^>]*>(?:\s|\S)*?</table>(?:\s|\S)*?)*?</table>))(?:\s|\S)*?|))*</tr>一条表达式就可以获取你想要的
    写得好辛苦
    测试:<table width="300" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td>&nbsp;</td>
        <td><table width="100%" border="1" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            </tr>    </table>
          <table width="100%" border="1" cellspacing="0" cellpadding="0">
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><table width="100%" border="1" cellspacing="0" cellpadding="0">      <tr>
            <td>&nbsp;</td>
            </tr>
        </table></td>
      </tr>
      <tr>
        <td><table width="100%" border="1" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            </tr>    </table></td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>-------------------获取3个match
    ============================================match1
      <tr>
        <td>&nbsp;</td>
        <td><table width="100%" border="1" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            </tr>    </table>
          <table width="100%" border="1" cellspacing="0" cellpadding="0">
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table></td>
        <td>&nbsp;</td>
      </tr>
    ==============================================match2
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><table width="100%" border="1" cellspacing="0" cellpadding="0">      <tr>
            <td>&nbsp;</td>
            </tr>
        </table></td>
      </tr>
    ==============================================match3
      <tr>
        <td><table width="100%" border="1" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            </tr>    </table></td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>测试通过
      

  5.   

    简直太佩服了,超级佩服,我得好好学学。
    不好意思,CSDN首页不知道有什么特殊的字,被我们公司防火墙屏蔽掉了,今天才知道可以直接敲论坛地址。再次谢谢