用正则是直接匹配就可以了
连接
"(http://)([\S]+)(\s)"
邮件
"(mailto://)([\S]+)@([\S])(\s)"

解决方案 »

  1.   

    用正则
    void DumpHrefs(String inputString) 
    {
    Regex r;
    Match m;r = new Regex("href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))",
    RegexOptions.IgnoreCase|RegexOptions.Compiled);
    for (m = r.Match(inputString); m.Success; m = m.NextMatch()) 
    {
    Console.WriteLine("Found href " + m.Groups[1] + " at " 
    + m.Groups[1].Index);
    }
    }
      

  2.   

    若这个邮件地址不在<a href里面呢?
    或这个超连不以http开头呢?是一个相对网址呢?
      

  3.   

    若是一个相对连接呢?
    我有一个算法,发邮件给我
    [email protected]