C#中使用正则表达式提取超链接地址的集中方法
2015-03-19 16:33
811 查看
一般在做爬虫或者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#中使用正则表达式提取超链接地址的集中方法
- C#中使用正则表达式提取超链接地址的集中方法(转)
- C#中使用正则表达式提取超链接地址
- C#使用正则表达式解析超链接文本和地址
- [ 转]C# 中使用正则表达式 Regex.Matches方法的几个应用
- C#正则表达式提取HTML中IMG标签的URL地址
- C#正则表达式提取HTML中IMG标签的SRC地址
- C#正则表达式提取HTML中IMG标签的SRC地址
- jquery使用正则表达式验证email地址的方法
- jquery使用正则表达式验证email地址的方法
- 正则表达式语法规则及在Javascript和C#中的使用方法
- 正则表达式语法规则及在Javascript和C#中的使用方法
- C#正则表达式使用方法示例
- java使用正则表达式的方法从json格式的字符串中提取需要的字符串
- c# 使用正则表达式 提取章节小说正文全本篇
- 【正则表达式】C#正则表达式提取HTML中IMG标签的URL地址
- 使用java正则表达式提取文本中所有邮箱地址
- python使用正则表达式提取网页URL的方法
- C#常用正则表达式验证(使用C#3.0扩展方法)(转)