我想取网页中这些数据,但是不清楚怎么写正则。。希望哪个朋友可以帮忙看看。。代码有些长,主要是表中有表,我写的正则只能取到第一个</table>结束的内容。<table width="100%" border="0" cellpadding="0" cellspacing="3" bgcolor="#4A9EE0">
<tr>
<td width="25%">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" bgcolor="#F2E8D0" class="f14a1">可售期房统计</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 可售房屋套数:</td>
<td align="center" width=35%>111313</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 可售房屋面积(M<sup>2</sup>):</td>
<td align="center">14416625</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数:</td>
<td align="center">57882</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">7387669</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元:</td>
<td align="center">12661</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">2802061</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元:</td>
<td align="center">24576</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">1633385</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数:</td>
<td align="center">13104</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">1916617</td></tr>
<tr bgcolor="#E3E2E2"><td height="20" colspan="2" align="center"><!--截止日期:2010-4-6--> <a href="/public/statistic/left.asp?show=1" style="color:#cc6600" target="_blank"><b>查看详细资料>>></b></a></td></tr>
</table>
</td>
<td width="25%">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" bgcolor="#F2E8D0" class="f14a1"> 2010年3月预售许可</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 批准预售许可证:</td>
<td align="center" width=35%>31</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 批准预售面积(M<sup>2</sup>):</td>
<td align="center">972328</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数:</td>
<td align="center">9612</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">898202</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元:</td>
<td align="center">43</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">23845</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元:</td>
<td align="center">0</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">0</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数:</td>
<td align="center">1063</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">36048</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" colspan="2"> </td></tr>
</table>
</td>
<td width="25%">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" class="f14a1">2010-4-6期房网上认购</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 网上认购套数:</td>
<td align="center" width=35%>364</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 网上认购面积(M<sup>2</sup>):</td>
<td align="center">44205</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数: </td>
<td align="center">263</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">37869</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元: </td>
<td align="center">18</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">924</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元: </td>
<td align="center">76</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">5208</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数: </td>
<td align="center">7</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">205</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" colspan="2"> </td></tr>
</table></td>
<td width="25%"><table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" bgcolor="#F2E8D0" class="f14a1">2010-4-6期房网上签约</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 网上签约套数:</td>
<td align="center" width=35%>582</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 网上签约面积 (M<sup>2</sup>):</td>
<td align="center">54879</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数:</td>
<td align="center">400</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">44214</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元: </td>
<td align="center">44</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">2958</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元: </td>
<td align="center">133</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">7093</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数: </td>
<td align="center">2</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">113</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" colspan="2" align=center><a href="#popup" style="color:#cc6600" target="_blank" id="popup_statistic_everyday_ys" name="popup_statistic_everyday_ys"><b>查看详细资料>>></b></a>
</td></tr>
</table></td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="100%" height="20" bgcolor="#4A9EE0" style="color:white"><b> 说明:<!--1、-->销售单位包括套、单元、个、层等。</b></td></tr> </table>
</td><td width="8" bgcolor="#f9f4e8"></td></tr>
</table>
<tr>
<td width="25%">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" bgcolor="#F2E8D0" class="f14a1">可售期房统计</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 可售房屋套数:</td>
<td align="center" width=35%>111313</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 可售房屋面积(M<sup>2</sup>):</td>
<td align="center">14416625</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数:</td>
<td align="center">57882</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">7387669</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元:</td>
<td align="center">12661</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">2802061</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元:</td>
<td align="center">24576</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">1633385</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数:</td>
<td align="center">13104</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">1916617</td></tr>
<tr bgcolor="#E3E2E2"><td height="20" colspan="2" align="center"><!--截止日期:2010-4-6--> <a href="/public/statistic/left.asp?show=1" style="color:#cc6600" target="_blank"><b>查看详细资料>>></b></a></td></tr>
</table>
</td>
<td width="25%">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" bgcolor="#F2E8D0" class="f14a1"> 2010年3月预售许可</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 批准预售许可证:</td>
<td align="center" width=35%>31</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 批准预售面积(M<sup>2</sup>):</td>
<td align="center">972328</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数:</td>
<td align="center">9612</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">898202</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元:</td>
<td align="center">43</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">23845</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元:</td>
<td align="center">0</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">0</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数:</td>
<td align="center">1063</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">36048</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" colspan="2"> </td></tr>
</table>
</td>
<td width="25%">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" class="f14a1">2010-4-6期房网上认购</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 网上认购套数:</td>
<td align="center" width=35%>364</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 网上认购面积(M<sup>2</sup>):</td>
<td align="center">44205</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数: </td>
<td align="center">263</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">37869</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元: </td>
<td align="center">18</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">924</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元: </td>
<td align="center">76</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">5208</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数: </td>
<td align="center">7</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">205</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" colspan="2"> </td></tr>
</table></td>
<td width="25%"><table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr bgcolor="#F2E8D0"><td height="25" colspan="2" align="center" bgcolor="#F2E8D0" class="f14a1">2010-4-6期房网上签约</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right" width=65%> 网上签约套数:</td>
<td align="center" width=35%>582</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 网上签约面积 (M<sup>2</sup>):</td>
<td align="center">54879</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="left"> 其中 住宅套数:</td>
<td align="center">400</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">44214</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 商业单元: </td>
<td align="center">44</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">2958</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 办公单元: </td>
<td align="center">133</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">7093</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 车位个数: </td>
<td align="center">2</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" bgcolor="#F9F4E8" align="right"> 面积(M<sup>2</sup>):</td>
<td align="center">113</td></tr>
<tr bgcolor="#F9F4E8"><td height="20" colspan="2" align=center><a href="#popup" style="color:#cc6600" target="_blank" id="popup_statistic_everyday_ys" name="popup_statistic_everyday_ys"><b>查看详细资料>>></b></a>
</td></tr>
</table></td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="100%" height="20" bgcolor="#4A9EE0" style="color:white"><b> 说明:<!--1、-->销售单位包括套、单元、个、层等。</b></td></tr> </table>
</td><td width="8" bgcolor="#f9f4e8"></td></tr>
</table>
<table>
<tr>
<td>
<table><tr><td></td><td></td><td></td><td></td><td></td></tr></table>
</td>
<td>
<table><tr><td></td><td></td><td></td><td></td><td></td></tr></table>
</td>
</tr>
</table>
Match m = reg.Match(yourStr);
if (m.Success)
{
richTextBox2.Text = m.Value;
}
//或者
Regex reg = new Regex(@"(?is)<table[^>]*>(?><table[^>]*>(?<o>)|</table>(?<-o>)|(?:(?!</?table\b).)*)*(?(o)(?!))</table>");
MatchCollection mc = reg.Matches(yourStr);
foreach(Match m in mc)
{
richTextBox2.Text += m.Value + "\n--------------------\n";
}
你好,我觉得你的代码我肯定可以用,但是我采用了你的方法后。。把获取的STR 经过Response.writr(str)出来后,是一个页面。。也就是说所有内容都拿出来了。。
方法如下,希望你能指点迷津:
public string GetPageTable()
{
string content = "";
string pageUrl = "";
byte[] pageData = null;
pageUrl = string.Format("http://bjfdc.bjjs.gov.cn/public/Index.asp"); try
{
using (WebClient wc = new WebClient())
{
pageData = wc.DownloadData(pageUrl);
content = Encoding.GetEncoding("GB2312").GetString(pageData);
}
}
catch (Exception ex)
{
//throw ex;
return content;
} //取表格规格为的数据
Regex reTable = new Regex(@"(?is)<table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""3"" bgcolor=""#4A9EE0"">(?><table[^>]*>(?<o>)|</table>(?<-o>)|(?:(?!</?table\b).)*)*(?(o)(?!))</table>");
Match m = reTable.Match(content);
if (m.Success)
{
content = m.Value;
}
return content;
}