C#中的正则表达式的分组应用

知道通过正则表达式如何将一个Html文件中的<A>元素指向的链接(href)部分及链接文字部分获取  
  如:  
  <a   href="http://www.sina.com.cn/hhh.aspx"   target="_top"><font   style="font-size:12px;color:blue"><b>新浪网HHH.asp</b></font></a><a   href="http://www.第二个链接">第一个连续的链接</a>  
  我想得到这个链接中的(http://www.sina.com.cn/hhh.aspx)和(新浪网HHH.asp)  
  现在有个问题是:一个未知的html文件中有N多个这样的链接,要把这N多个链接的文字和链接地址取出来,并且每个链接形成一条记录  
  上面的两个链接应该变成  
   
  http://www.sina.com.cn/hhh.aspx                             新浪网HHH.asp  
  http://www.第二个链接                                                 第一个连续的链接  
   
   
  要用正则表达式的解出,小弟知道CSDN上高手如云,特发此贴,请老大们赐教,谢谢!  
   
  Regex   r;  
  Match   m;  
   
  int   tempCount=0;  
   
  r   =   new   Regex("(?<2>(?:\\<(a|A))\\s*href=*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))[^\\<\\>]*\\>[^(\\<\\/a>)]*(?:\\<\\/(a|A)\\>))",RegexOptions.IgnoreCase|RegexOptions.Compiled);  
   
  for   (m   =   r.Match(inputString);   m.Success;   m   =   m.NextMatch())    
  {  
          Console.WriteLine("Found   href   "   +   m.Groups[1]   +   "   at   "   +   m.Groups[1].Index+"\n");  
          tempCount++;  
  }  
posted @ 2006-11-17 14:31  疯一样的自由  阅读(1674)  评论(1编辑  收藏  举报