string hyperlink1="<a href=\"http://www.baidu.com\">baidu.com</a>";匹配出:
http://www.baidu.comstring hyperlink1="<a href=\"http://www.baidu.com\">baidu.com</a>";匹配出:
baidu.comstring hyperlink1="<a href=\"http://www.baidu.com\">baidu.com</a>";
匹配出:
http://www.baidu.com
baidu.com

解决方案 »

  1.   

    string hyperlink1="<a href=\"http://www.baidu.com\" title='baidu'>baidu.com</a>";
    匹配出:
    baidu
      

  2.   

    Regex reg = new Regex(@"(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
      

  3.   

    string hyperlink1="<a href=\"http://www.baidu.com\">baidu.com</a>";
    Regex reg=new Regex(@"href=""([^""]*?)""[^>]*?>([^<]*?)<");
    Match m=reg.Match(hyperlink1);
    string a=m.Groups[1].Value;
    string b=m.Groups[2].Value;
      

  4.   

    可以匹配你所给的有无title两种情况,只需在结果中判断一下m.Groups["title"].Value是否为空即可            //string hyperlink1 = "<a href=\"http://www.baidu.com\" title='bai du'>baidu.com</a>";
                string hyperlink1 = "<a href=\"http://www.baidu.com\">baidu.com</a>";
                Match m = Regex.Match(hyperlink1, @"<a[^>]*href=(?<sin1>['""]?)(?<url>[^'""\s]*)(\k<sin1>)?[^>]*?(title=(?<sin2>['""]?)(?<title>[^'""]*)(\k<sin2>)?[^>]*)?>(?<text>[^<]*)</a>", RegexOptions.IgnoreCase);
                if(m.Success)
                {
                    MessageBox.Show(m.Groups["url"].Value);
                    MessageBox.Show(m.Groups["title"].Value);
                    MessageBox.Show(m.Groups["text"].Value);
                }