c#正则获取html里面a标签href的值
获取单个a中href的值:
string str = "<a href=\"http://www.itsve.com\">下载</a>"; string reg = @"<a[^>]*href=([""'])?(?<href>[^'""]+)\1[^>]*>"; var item = Regex.Match(str, reg, RegexOptions.IgnoreCase); Console.WriteLine(item.Groups["href"].Value);
获取多个a中的href的值:
string str = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" + "<html xmlns=\"http://www.w3.org/1999/xhtml\">" + "<head>" + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>" + "<meta content=\"怎样用c 正则表达式解析HTML中a 超链接 址 .NET技术 ASP.NET\" name=\"Keywords\"/>" + "<meta content=\"是用c 正则表达式 是在后台 不是js正则表达式 是要获取a href属性值\" name=\"description\"/>" + "<title>怎样用c#正则表达式解析HTML中a的超链接地址 - .NET技术 / ASP.NET</title>" + "<li><a href=\"http://news.csdn.net/\" target=\"_blank\">资讯</a>|</li>" + "<li><a href=\"http://mobile.csdn.net/\" target=\"_blank\">移动</a>|</li>" + "<li><a href=\"http://cloud.csdn.net/\" target=\"_blank\">云计算</a>|</li>" + "<link href=\"http://c.csdn.net/bbs/t/5/t5.css\" rel=\"stylesheet\" type=\"text/css\" />" + "<link href=\"http://www.csdn.net/images/favicon.ico\" rel=\"SHORTCUT ICON\" />"; Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""\s]?)(?<href>[^'""\s]*)\1[^>]*?>"); MatchCollection match = reg.Matches(str); foreach (Match m in match) { Response.Write(m.Groups["href"].Value + "<br/>"); }
//C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值,表达式如下: Regex regImg = new Regex(@"(?is)<a[^>]*?href=(['""\s]?)(?<href>([^'""\s]*\.doc)|([^'""\s]*\.docx)|([^'""\s]*\.xls)|([^'""\s]*\.xlsx)|([^'""\s]*\.ppt)|([^'""\s]*\.txt)|([^'""\s]*\.zip)|([^'""\s]*\.rar)|([^'""\s]*\.gz)|([^'""\s]*\.bz2))\1[^>]*?>"