<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>希望能有注释

解决方案 »

  1.   

    两个正则表达式,未必完全正确,但对于你的这段并不复杂的脚本,则可以解决问题。
    (?<tdgroup><td.*</td>)//这从字符串获取所有td的
    (?<agroup><a.*</a>)//这是从字符串获取所有a的。
      

  2.   

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

  3.   

    上上楼的方法中,还是不能解决几个问题。并没有解决<td><table><tr><td><a></a></td></tr></table></td>嵌套问题。
    并没有解决<area></area>这种标签的问题。
      

  4.   

    看看阿赖的blog,里面有正则的语法
    介绍得很详细http://blog.csdn.net/laily/archive/2004/06/24/25872.aspx
      

  5.   

    to begincsdn:
    楼主没有这种需求为什么还要解决?我的代码已经完全的解决了楼主的问题,照你的想法还要另外写一个HTML分析器?
    你认为有必要吗?
      

  6.   

    <td.*?>.*?</td>
    <a.*?>.*?</a>
      

  7.   

    to fancyf, 没那意思。如果只是解决楼主的问题,
    (?<tdgroup><td.*</td>)
    (?<agroup><a.*</a>)
    包括你的方法都已经足够,问题是,凡HTML脚本,这种嵌套太常见了。有些担心而已。
      

  8.   

    请问begincsdn,你的正则表达式怎么用,能不能提示一下,谢谢!
    以上HTML代码,是我随便找的,以后在工作可能会遇到更复杂的HTML,想弄明白原理,谢谢
      

  9.   

    又开了一帖,http://community.csdn.net/Expert/topic/4146/4146145.xml?temp=.9881098谢谢