<a href="http://aa.bb.com/msg/cc.html" target="_blank" class="blue10_5">其中
1、aa 是变动的,是1到10个的字母。
2、bb是不变的
3、cc是变动的, 是1到15个数字。
4、blue10_5是变动的,是数字字母下划线的组合,10个以内
5、其它都是不变的求得到href值的正则:??

解决方案 »

  1.   

               Regex reg = new Regex(@"(?is)<a[^>]*?href=""(http://[a-z]{1,10}\.bb\.com/msg/\d{1,15}\.html)""[^>]*?class=""[a-z\d]+?_[a-z\d]+?""");
               foreach (Match m in reg.Matches(str))
                   Console.WriteLine(m.Groups[1].Value);
      

  2.   

    string s = @"<a href=""http://aaaaaaaaaa.bb.com/msg/12345678.html"" target=""_blank"" class=""blue10_5"">";
    MatchCollection matches = Regex.Matches(s, @"<a href=""(http://[a-zA-Z]{1,10}.bb.com/msg/\d{1,15}\.html)""[^>]*?class=""\w{0,10}"">");
    foreach (Match match in matches)
    Console.WriteLine(match.Groups[1].Value);