.NET用正则表达式从HTML中提取信息

Regex aRegex = new Regex("</?a[^>]*>");
string content = @"<table border=0 cellspacing=0 cellpadding=0 width=100% ><tr><td width=6></td>
  <td width='5' style='line-height:20pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.29,23.1247)' title='东山总站2'> 东山总站2 </a></td>

<td width='5' style='line-height:40pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.283,23.1275)' title='中山医站2'> 中山医 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.28,23.1295)' title='烈士陵园站'> 烈士陵园 </a></td>

<td width='5' style='line-height:40pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.272,23.1296)' title='大东门站2'> 大东门 </a></td>

<td width='5' style='line-height:40pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.27,23.1294)' title='农讲所站1'> 农讲所 </a></td>

<td width='5' style='line-height:40pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.266,23.1262)' title='文德路站2'> 文德路 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.264,23.1237)' title='北京路口站'> 北京路口 </a></td>

<td width='5' style='line-height:80pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.266,23.1184)' title='南关站'> 南关 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.262,23.1168)' title='海珠广场(侨光东)站'> 海珠广场 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.252,23.1129)' title='爱群大厦站'> 爱群大厦 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.242,23.1115)' title='六二三路站1'> 六二三路 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.238,23.112)' title='市中医院站'> 市中医院 </a></td>

<td width='5' style='line-height:20pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.231,23.1023)' title='芳村隧道口站'> 芳村隧道口 </a></td>

<td width='5' style='line-height:40pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.229,23.0969)' title='花地湾站'> 花地湾 </a></td>

<td width='5' style='line-height:20pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.226,23.0924)' title='芳村合兴苑站'> 芳村合兴苑 </a></td>

<td width='5' style='line-height:26pt;'>东漖北路</td>

<td width='5' style='line-height:80pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.222,23.0872)' title='汾水站'> 汾水 </a></td>

<td width='5' style='line-height:40pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.224420213932,23.0857201443167)' title='浣花路站'> 浣花路 </a></td>

<td width='5' style='line-height:26pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.229,23.0829)' title='芳村客运站'> 芳村客运 </a></td>

<td width='5' style='line-height:20pt;'><a class='linesta' href='javascript:OpenStatiomMapWin(113.223,23.0787)' title='龙溪大道东(教师新村)站'> 龙溪大道东 </a></td>

<td width='5' style='line-height:16pt;'>芳村花园总站</td>
    </table>";

content = aRegex.Replace(content, "");
Regex htmlRegex = new Regex(@"<td[^>]*>(?<Content>[^<]*)</td>");

MatchCollection mc = htmlRegex.Matches(content);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups["Content"].Value);
}

运行结果:
 东山总站2
 中山医
 烈士陵园
 大东门
 农讲所
 文德路
 北京路口
 南关
 海珠广场
 爱群大厦
 六二三路
 市中医院
 芳村隧道口
 花地湾
 芳村合兴苑
东漖北路
 汾水
 浣花路
 芳村客运
 龙溪大道东
芳村花园总站

基本思路是先把<a标签全部去掉,然后只获得<td></td>里面的内容
都是正则表达式的基本用法,哪个方法不懂参考MSDN中System.Text.RegularExpressions命名空间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值