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[^>]*?>"

 

posted @ 2017-05-09 21:09  天王星天  阅读(7122)  评论(1编辑  收藏  举报