string aaa="<A class='fffff' href='aaaaaaa' target=_blank><FONT class='bbbbbbb'>附件.rar</FONT></A>";Regex re = new Regex(@"<a.*?>([^<>]*)(?<aaaa>.*)</a>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
            MatchCollection   mc   =   re.Matches(str);
            str=mc[0].Groups["aaaa"].Value;
            return str;
这样可以提取到 a标签内的内容
为什么换成 
Regex re = new Regex(@"<font.*?>([^<>]*)(?<aaaa>.*)</font>", RegexOptions.IgnoreCase | RegexOptions.Singleline);就什么也提取不到了?who 解释一下········怎么提取

解决方案 »

  1.   

    <FONT.*?>(?<aaaa>.*)</FONT>
      

  2.   

    ([^<>]*) 已经获取了之间的内容,所以(?<aaaa>.*)获取不到
      

  3.   

    第一个获取的原因就是
    <a.*?>获取的片段为<A class='fffff' href='aaaaaaa' target=_blank>而([^<>]*)遇到<FONT中的<结束了,所以会获取到
      

  4.   

    因为你的正则表达式中有<aaaa>,这个使得你取不到font.你可以把正则表达式改成:<font.*?>(.*?)</font>
      

  5.   

    第一个获取到的是
    <FONT class='bbbbbbb'>附件.rar</FONT>。(?<aaaa>.*)的意思不是 将结果存入aaaa里的意思么·······
    您可以分段解释下这个正则不~~~~~~
    现在想获取  附件.rar
      

  6.   

    看错了,你说的对的。?<aaaa>exp,就是把exp表达式所捕获到的内空存放到aaaa这个组中。但是正如2楼说的,前面那个表达式已经把内容给匹配去了,所以(?<aaaa>.*)获取不到其它东西了。你要捕获到附件.rar,就用1楼的方法就行,但是最好加个“?”,来取消贪婪模式。
    <FONT.*?>(?<aaaa>.*?)</FONT>