<tr>
    <td><small><small>发广告</small></small></td>
    <td>复古风格
</td>
    <td><small><small>地方</small></small></td>
    <td>江地方                        
</td>
    <td><small><small>地方别</small></small></td>
    <td>地方
</td>
    <td><small><small>人头专业</small></small></td>
    <td>地方                                          
</td>
  </tr>
  <tr>
    <td width="6%"><small><small>地方</small></small></td>
    <td width="9%"><small><small>短发号</small></small></td>
    <td width="10%"><small><small>地方</small></small></td>
    <td width="25%"><small><small>名称</small></small></td>
    <td width="9%"><small><small>类别</small></small></td>
    <td width="7%"><small><small>分</small></small></td>
    <td width="6%"><small><small>分</small></small></td>    <td width="8%"><small><small>成</small></small></td>
    <td width="8%"><small><small>点</small></small></td>
    <td width="9%"><small><small>学点</small></small></td>    <td width="12%"><p align="center"><small><small>备注</small></small></td>
  </tr>  <tr>
    <td width="6%">1
</td>
    <td width="9%">20df341
</td>
    <td width="10%">21df3423109
</td>
    <td width="25%">文df44
</td>
    <td width="9%">dafe修
</td>
    <td width="7%">2
</td>
    <td width="6%">2
</td>    <td width="8%">A     
</td>
    <td width="8%">34340
</td>
    <td width="9%" align="right">8.00
</td>    <td width="12%">      
</td>
  </tr>  <tr>
    <td width="25%"><small><small>dfdff</small></small></td>
    <td width="25%"><small><small>取dffd25</small></small></td>
    <td width="25%"><small><small>占dfdfd%</small></small></td>    <td width="25%"><small><small>dfdfdf</small></small></td>  </tr>

 <tr>
    <td width="6%">1
</td>
    <td width="9%">20df341
</td>
    <td width="10%">21df3423109
</td>
    <td width="25%">文df44
</td>
    <td width="9%">dafe修
</td>
    <td width="7%">2
</td>
    <td width="6%">2
</td>    <td width="8%">A     
</td>
    <td width="8%">34340
</td>
    <td width="9%" align="right">8.00
</td>    <td width="12%">      
</td>
  </tr>
这个内容,正则应该怎么写

解决方案 »

  1.   

    用htmlagilitypack可能更简单点:
    HtmlDocument htmlDoc = new HtmlDocument();
    htmlDoc.Load(Server.MapPath("~/test.txt"));
    HtmlNode tr = htmlDoc.DocumentNode.SelectSingleNode(@"//tr[3]");
    Response.Write(Server.HtmlEncode(tr.OuterHtml));参考:点此
      

  2.   

    正则:
    string s = File.ReadAllText(Server.MapPath("~/test.txt"), Encoding.Default);
    MatchCollection matches = Regex.Matches(s, @"(?is)<tr[^>]*>.*?</tr>");
    Response.Write(Server.HtmlEncode(matches[2].Value));这里是取第2个match,你根据实际情况试探,自己改一下。
      

  3.   

    不清楚你的源码格式是怎样的,可能是这样的: HtmlDocument htmlDoc = new HtmlDocument();
    htmlDoc.Load(Server.MapPath("~/test.txt"));
    HtmlNodeCollection trs = htmlDoc.DocumentNode.SelectNodes(@"//table/tr[3]");
    foreach (HtmlNode tr in trs)
    Response.Write(Server.HtmlEncode(tr.OuterHtml));
    取html中所有table下的第3行。你查下xpath表达式,自己改下,应该不成问题。
      

  4.   


    <html><head>
    <meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb2312">
    <title>查询结果</title>
    </head><body><p align="center"><big><font color="#FF0000"><font face="楷体_GB2312">你查询</font>2009123 
    的地方啊</font></big></p>
    <p align="center"><font color="#0080FF">2008年至2009年度第1学期</font> </p><table border="1" width="100%">  <tr>
        <td><small><small>对方答复</small></small></td>
        <td>2009123
    </td>
        <td><small><small>人工费</small></small></td>
        <td>等发达                        
    </td>
        <td><small><small>发地方</small></small></td>
        <td>男
    </td>
        <td><small><small>打发打发</small></small></td>
        <td>地方答复                                          
    </td>
      </tr>
    </table><table border="1" width="100%">
      <tr>
        <td width="6%"><small><small>序号</small></small></td>
        <td width="9%"><small><small>放号</small></small></td>
        <td width="10%"><small><small>课撒旦法号</small></small></td>
        <td width="25%"><small><small>短发称</small></small></td>
        <td width="9%"><small><small>的萨芬别</small></small></td>
        <td width="7%"><small><small>短发分</small></small></td>
        <td width="6%"><small><small>阿道夫分</small></small></td>    <td width="8%"><small><small>短发绩</small></small></td>
        <td width="8%"><small><small>阿道夫</small></small></td>
        <td width="9%"><small><small>爱的色放</small></small></td>    <td width="12%"><p align="center"><small><small>爱的色放注</small></small></td>
      </tr>  <tr>
        <td width="6%">1
    </td>
        <td width="9%">20081
    </td>
        <td width="10%">2101000109
    </td>
        <td width="25%">等发达
    </td>
        <td width="9%">等发达
    </td>
        <td width="7%">2
    </td>
        <td width="6%">2
    </td>    <td width="8%">A     
    </td>
        <td width="8%">4.0
    </td>
        <td width="9%" align="right">8.00
    </td>    <td width="12%">      
    </td>
      </tr>  <tr>
        <td width="6%">2
    </td>
        <td width="9%">20081
    </td>
        <td width="10%">2115000102
    </td>
        <td width="25%">地方
    </td>
        <td width="9%">短发
    </td>
        <td width="7%">5
    </td>
        <td width="6%">5
    </td>    <td width="8%">C     
    </td>
        <td width="8%">2.0
    </td>
        <td width="9%" align="right">10.00
    </td>    <td width="12%">      
    </td>
      </tr>  <tr>
        <td width="6%">3
    </td>
        <td width="9%">20081
    </td>
        <td width="10%">2115000202
    </td>
        <td width="25%">短发3短发
    </td>
        <td width="9%">必修
    </td>
        <td width="7%">4
    </td>
        <td width="6%">0
    </td>    <td width="8%">F     
    </td>
        <td width="8%">0.0
    </td>
        <td width="9%" align="right">0.00
    </td>    <td width="12%">      
    </td>
      </tr>
    .....
    .....
    .....
    .....
    重复上面格式的N个<tr></tr>只是中间的值不一样
    </table><table border="1" width="100%">
      <tr>
        <td width="25%"><small><small>短发</small></small></td>
        <td width="25%"><small><small>地方</small></small></td>
        <td width="25%"><small><small>撒旦法</small></small></td>    <td width="25%"><small><small>阿发色纺</small></small></td>  </tr>
    </table>
    ......
    ......
    ......
    ......
    ......
    重复上面的table
    </body>
    </html>
      

  5.   

    这样写:
    HtmlDocument htmlDoc = new HtmlDocument();
    htmlDoc.Load(Server.MapPath("~/test.txt"));
    HtmlNodeCollection trs = htmlDoc.DocumentNode.SelectNodes(@"//table[2]/tr[position()>1]");
    foreach (HtmlNode tr in trs)
    Response.Write(Server.HtmlEncode(tr.OuterHtml));
    第2个table中第2~最后的行。
      

  6.   

    ......
    ......
    ......
    ......
    ......
    重复上面所有table  N次··同样是去那段tr
      

  7.   

    你自己改下吧,不知道怎么个重复法。把我给你的代码中的xpath表达式改一下就行了。
      

  8.   

    <td width="\d*%"[^<>]*>[^\n]*\n</td>
    //-----
    <td width="6%">1
    </td>
    <td width="9%">20df341
    </td>
    <td width="10%">21df3423109
    </td>
    <td width="25%">文df44
    </td>
    <td width="9%">dafe修
    </td>
    <td width="7%">2
    </td>
    <td width="6%">2
    </td>
    <td width="8%">A   
    </td>
    <td width="8%">34340
    </td>
    <td width="9%" align="right">8.00
    </td>
    <td width="12%">   
    </td>