已经得到了百度搜索结果页面的html代码,怎么样写正则表达式提取其中每项搜索结果的标题,链接

解决方案 »

  1.   

    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);  
    }  
    MatchCollection mc = Regex.Matches(Str, @"(?i)<a(?>(?:(?!href=)[^>])*)href=(['""]?)(?<url>[^""'\s>]*)\1[^>]*>(?<text>[\s\S]*?)</a>");
     
     
      

  2.   

    这个是能取出连接了,但是是所有的连接都取出来了,有的连接是重复的,之要搜索结果的连接 <a onmousedown="return c({'fm':'as','F':'77B717EA','F1':'9D73F1E4','F2':'4CA6BE6B','F3':'54E5243F','T':'1281675771','title':this.innerHTML,'url':this.href,'p1':1,'y':'A3B46CB6'})" href="http://mylife999.blogbus.com/logs/42952037.html" target="_blank" ><font size="3">...- 日志 - 中年人 - 编织家园-编织人生旗下网站 - <em>Powered</em> <em>by</em>...</font></a>所有的搜索结果都是这么循环的,只要这个连接 和连接标题