当前位置:编程学习 > C#/ASP.NET >>

这样的正则怎么写啊!

这样的正则怎么写啊!
怎么才能获取到下面的 湖南地图 湖南电视 湖南电视台


<TR>
    <TD><A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC">湖南地图</A></TD>
    <TD>624 <SPAN class=up>↑ +11%</SPAN></TD>
    <TD>0 <SPAN class=dn>↓ -100%</SPAN></TD>
    <TD><A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC">查看</A></TD>
    <TD> </TD></TR>
  <TR>
    <TD><A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3">湖南电视</A></TD>
    <TD>181 <SPAN class=dn>↓ -25%</SPAN></TD>
    <TD>6 <SPAN class=dn>↓ -54%</SPAN></TD>
    <TD><A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3">查看</A></TD>
    <TD> </TD></TR>
  <TR>
    <TD><A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8">湖南电视台</A></TD>
    <TD>896 <SPAN class=dn>↓ -8%</SPAN></TD>
    <TD>6 <SPAN class=dn>↓ -54%</SPAN></TD>
    <TD><A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8">查看</A></TD>
    <TD> </TD></TR>
--------------------编程问答-------------------- <TR>[\s\S]*?href=".*?>(.*?)<

恭喜你,共匹配到数据有3项

编号              组名
第1个组的组名为:   0

所匹配的结果如下:

1、 <TR>
     <TD> <A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC">湖南地图 <
2、 <TR>
     <TD> <A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3">湖南电视 <
3、 <TR>
     <TD> <A 
      href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8">湖南电视台 <
第2个组的组名为:   1

所匹配的结果如下:

1、 湖南地图 
2、 湖南电视 
3、 湖南电视台 


自己写的regex测试工具..还8错吧..呵呵! --------------------编程问答-------------------- 上面的朋友能详细点吗
--------------------编程问答--------------------
引用 2 楼 bbsmu 的回复:
上面的朋友能详细点吗




using System;
using System.Text.RegularExpressions;

public class Test
{
    static void Main()
    {
        string strHtml = @"<TR>
     <TD> <A 
      href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC"">湖南地图 </A> </TD>
     <TD>624  <SPAN class=up>↑ +11% </SPAN> </TD>
     <TD>0  <SPAN class=dn>↓ -100% </SPAN> </TD>
     <TD> <A 
      href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC"">查看 </A> </TD>
     <TD>  </TD> </TR>
   <TR>
     <TD> <A 
      href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3"">湖南电视 </A> </TD>
     <TD>181  <SPAN class=dn>↓ -25% </SPAN> </TD>
     <TD>6  <SPAN class=dn>↓ -54% </SPAN> </TD>
     <TD> <A 
      href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3"">查看 </A> </TD>
     <TD>  </TD> </TR>
   <TR>
     <TD> <A 
      href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8"">湖南电视台 </A> </TD>
     <TD>896  <SPAN class=dn>↓ -8% </SPAN> </TD>
     <TD>6  <SPAN class=dn>↓ -54% </SPAN> </TD>
     <TD> <A 
      href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8"">查看 </A> </TD>
     <TD>  </TD> </TR> ";

        MatchCollection mc = Regex.Matches(strHtml, @"<TR>[\s\S]*?href="".*?>(.*?)</", RegexOptions.IgnoreCase);
        for (int i = 0; i < mc.Count; i++)
        {
            Console.WriteLine(mc[i].Groups[1].Value);
        }
        //湖南地图
        //湖南电视
        //湖南电视台

        Console.ReadKey();
    }
}
--------------------编程问答-------------------- try this
(?<=<[Aa][^>]*>)[^<>]*(?=</[Aa]>) --------------------编程问答--------------------

YourStr = 你帖子里说的那个测试字符串;
MatchCollection mc = Regex.Matches(YourStr,@"(?<=<TR>\s*<TD>\s*<[Aa][^>]*>)[^<>]*(?=</[Aa]>)");
foreach(Match m in mc)
{
    MessageBox.Show(m.Value);
}
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,