C#中的Regex的分組應用

來源:互聯網
上載者:User
知道通過Regex如何將一個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.第二個連結                                                 第一個連續的連結  
   
   
  要用Regex的解出,小弟知道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++;  
  }  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.