<div class='x_y_z_7_1'><a href=ShowResume.aspx?ID=3279191 target='_blank'>3279191</a></div><div
我想获取整个html中,所有超链接地址即href后面的字符串等于
ShowResume.aspx?ID=
的整个href值。该页这样的链接地址比较多。谢谢。

解决方案 »

  1.   

    模式:href=(\S+),gourp[1] 便是如果得到的值有引号,在代码里去掉一下
      

  2.   

    MatchCollection mc= Regex.Matches(str, @" <a[^> ]*href=([ ' " "]?)(? <url> [^ ' " "> \s]*)\1?[^> ]*> (? <text> [^ <]*) </a> ", RegexOptions.IgnoreCase);   
    foreach (Match m in mc)   
    {   
      Response.Write(m.Groups[ "url "].Value);   
      Response.Write(m.Groups[ "text "].Value);   
    }   
    MatchCollection mc = Regex.Matches(Str, @"(?i)<a(?>(?:(?!href=)[^>])*)href=(['""]?)(?<url>[^""'\s>]*)\1[^>]*>(?<text>[\s\S]*?)</a>");
      

  3.   


    string str= dr.getstring(1);
    MatchCollection mc= Regex.Matches(str, @" <a[^>]*href=(['""]?)(?<url>[^'"">\s]*)\1?[^>]*>", RegexOptions.IgnoreCase);   
    foreach (Match m in mc)   
    {   
      Response.Write(m.Groups["url"].Value);   
    }   
      

  4.   

    var mats = Regex.Matches(str, @"(?i)href=([""']{0,1})(ShowResume.aspx?ID=\d+)\1");
    foreach(var mat in mats) Console.WriteLine(mat.Groups[2].Value);
      

  5.   

    try...Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>ShowResume\.aspx\?ID=[^'""\s>]+)\1[^>]*>");
    MatchCollection mc = reg.Matches(yourStr);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["url"].Value + "\n";
    }