游戏技术文章

C#中使用正则表达式提取超链接地址的集中方法

时间:2016-11-15 13:13:22  作者:棋牌资源网  来源:棋牌资源网  查看:8801  评论:0
内容摘要:一般在做爬虫或者CMS的时候经常需要提取 href链接或者是src地址。此时可以使用正则表达式轻松完成。Regex reg = new Regex(@"(?is)]*?href=(['""]?)(?...
一般在做爬虫或者CMS的时候经常需要提取 href链接或者是src地址。此时可以使用正则表达式轻松完成。


Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");             
MatchCollection mc = reg.Matches(yourStr);             
foreach (Match m in mc)            
 {                 
  richTextBox2.Text += m.Groups["url"].Value + "\n";//得到href值                 
  richTextBox2.Text += m.Groups["text"].Value + "\n";//得到<a><a/>中间的内容           
    } 
 方法2: 
 <PRE class="brush: c-sharp;">Regex r;        
 Match m;          
 r = new Regex("href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))",            
 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);
}
</PRE>

方法3:提取img src的 
 <PRE class="brush: c-sharp;">Regex reg = new Regex(@"(?i)<img[^>]*?\ssrc\s*=\s*(['""]?)(?<src>[^'""\s>]+)\1[^>]*>");   
 MatchCollection mc = reg.Matches(yourStr);   
 foreach (Match m in mc)    
 {    Console.Write(m.Groups["src"].Value + "\n");   
 }
 </PRE>

 方法4:
 提取img src 
  <PRE class="brush: c-sharp;">
  /// <summary>         
  /// 获取Img的路径         
  /// </summary>         
  /// <param name="htmlText">Html字符串文本</param>        
  /// <returns>以数组形式返回图片路径</returns>        
    public static string[] GetHtmlImageUrlList(string htmlText)       
  {          
   Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase); 
   //新建一个matches的MatchCollection对象 保存 匹配对象个数(img标签) 
   MatchCollection matches = regImg.Matches(htmlText);
   int i = 0;            
   string[] sUrlList = new string[matches.Count]; 
   //遍历所有的img标签对象            
   foreach (Match match in matches) 
    {                 
    //获取所有Img的路径src,并保存到数组中 
    sUrlList[i++] = match.Groups["imgUrl"].Value;          
    }         
         return sUrlList;     
   }</PRE>

标签:C#中使用正则表达式提取超链接地址的集中方法 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2021 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved