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

原创 2006年06月02日 15:56:00

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命名空间

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例

无论你用什么语言,正则表达式的处理方法都是非常灵活、高效的,尤其是对某些字符串的抓取、过滤方面,更显其优势。正则表达式的写法通常比较简单,几行短代码便能轻松完成看似很复杂的事情,更值得称赞的是,它的执...

asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例

无论你用什么语言,正则表达式的处理方法都是非常灵活、高效的,尤其是对某些字符串的抓取、过滤方面,更显其优势。正则表达式的写法通常比较简单,几行短代码便能轻松完成看似很复杂的事情,更值得称赞的是,它的执...

asp.net正则表达式提取网页网址、标题、图片,滤所有HTML标签

====================================================== 注:本文源代码点此下载 =============================...

C# .Net使用正则表达式去除HTML标记和空格

using System.Text.RegularExpressions; 在进行数据采集,显示文章摘要,内容计数等情况下,需要清除源代码中的html标签,空格,style,script等标签. ...
  • atco
  • atco
  • 2012-02-24 11:25
  • 5615

asp.net正则表达式提取网址、标题、图片等

无论你用什么语言,正则表达式的处理方法都是非常灵活、高效的,尤其是对某些字符串的抓取、过滤方面,更显其优势。 正则表达式的写法通常比较简单,几行短代码便能轻松完成看似很复杂的事情,更值得称赞的是...

.net验证控件的属性与使用技巧---总结及正则表达式语法

验证控件 1.  RequiredFieldValidator控件: 验证用户是否在SelectionList控件中选择了一项,或者TextBox控件是否为空。(用户必须键入或选择一个值) 控件...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)