我现在有个字符串是<span class="tl_r orange">提问者:<a href="http://cdscs.com/cdscs" class="orange" target="_blank">愚者方林</a> - 初级甲板工 一级</span></strong>
不知道正则要怎么才可以匹配出  愚者方林 4个字。就是类似于 <a href="dddd.com/dsd/cds.apx">xxxx000000</href>
我要怎么样才可以匹配出xxxx000000这个几个字,刚学正则,希望大侠们解惑下

解决方案 »

  1.   

    (?<=<a[^>]*>)(.*?)(?=</a>)
      

  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);   
    }   
      

  3.   

    (?<=<span[^>]*>)((?'value1'[^<>]*?)<a[^>]*>(?'value2'[^<>]*?)</a>(?'value3'[^<>]*?)?)(?=</span>)GROUP[value1]: '提问者:' 
    GROUP[value2]: '愚者方林'
    GROUP[value3]: ' - 初级甲板工 一级'
      

  4.   


    void Main()
    {
    string html=@"<span class=""tl_r orange"">提问者:<a href=""http://cdscs.com/cdscs"" class=""orange"" target=""_blank"">愚者方林</a> - 初级甲板工 一级</span></strong>";
     
    Match m = Regex.Match(html,@"(?is)<span.*?>.*?<a.*?>(.*?)</a>.*?([^-]*?)</span>");
    if(m.Success)
    {
     Console.WriteLine(m.Groups[1].Value);
     Console.WriteLine(m.Groups[2].Value);
    }
    }/*
    结果:
    愚者方林
     初级甲板工 一级*/
    正则的匹配结果要明确
    不能像在帖中问的 只匹配 愚者方林
    而后边又说 又要匹配  初级甲板工 一级不同的匹配对应不同的正则表达式