<tr>
     <td height="23" align="left" class="td_hui"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      
       <tr>
         <td width="85%">·
         
         <a href="Infor_View.aspx?ArticleId=2924" class="">
     
     张时善同志在安全生产工作现场会上...</a><font color="black">
     </td>
       
       </tr>
     </table></td>
    
     
  </tr>
  
  <tr>
     <td height="23" align="left" class="td_hui"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      
       <tr>
         <td width="85%">·
         
         <a href="Infor_View.aspx?ArticleId=2687" class="">
     
     张时善同志在全市暑期安全生产工作...</a><font color="black">
     </td>
       
       </tr>
     </table></td>
    
     
  </tr>
  
我要做个新闻采集功能,我要采集别的网站的新闻,上面是网站查看源文件的代码,我要采集的是 <a href="Infor_View.aspx?ArticleId=2687" class="">
     
     张时善同志在全市暑期安全生产工作...</a>求正则高手帮助,谢谢

解决方案 »

  1.   

      using (System.IO.StreamReader sr = new System.IO.StreamReader("D:\\1.txt", System.Text.Encoding.Default))
                {
                    string str = sr.ReadToEnd();
                    str = System.Text.RegularExpressions.Regex.Match(str, @"<a [^>]*2687[^>]*>((?!</a>)[\s\S])*</a>").Value;
                    Console.WriteLine(str);
                }
      

  2.   


         string html = @"<tr>
      <td height=""23"" align=""left"" class=""td_hui""><table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"">
        
      <tr>
      <td width=""85%"">·
        
      <a href=""Infor_View.aspx?ArticleId=2924"" class="""">
        
      张时善同志在安全生产工作现场会上...</a><font color=""black"">
      </td>
        
      </tr>
      </table></td>
        
        
      </tr>
       
      <tr>
      <td height=""23"" align=""left"" class=""td_hui""><table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"">
        
      <tr>
      <td width=""85%"">·
        
      <a href=""Infor_View.aspx?ArticleId=2687"" class="""">
        
      张时善同志在全市暑期安全生产工作...</a><font color=""black"">
      </td>
        
      </tr>
      </table></td>
        
        
      </tr>
       
    我要做个新闻采集功能,我要采集别的网站的新闻,上面是网站查看源文件的代码,我要采集的是  <a href=""Infor_View.aspx?ArticleId=2687"" class="""">
        
      张时善同志在全市暑期安全生产工作...</a>求正则高手帮助,谢谢
                             ";
                html = Regex.Replace(html, @"\r|\n|\t", "");
                Regex reg = new Regex(@"\<a.*?ArticleId.*?\/a\>", RegexOptions.IgnoreCase);
                List<string> links = new List<string>();
                foreach (Match m in reg.Matches(html))
                {
                    links.Add(m.Value);
                }
                foreach (var r in links)
                {
                    Response.Write(r + "<br>");
                }
            }
    结果
    <a href="Infor_View.aspx?ArticleId=2924" class="">      张时善同志在安全生产工作现场会上...</a>
    共三条。
      

  3.   


          string   html   =   @ " <tr> 
        <td   height= " "23 " "   align= " "left " "   class= " "td_hui " "> <table   width= " "100% " "   border= " "0 " "   cellspacing= " "0 " "   cellpadding= " "0 " "> 
            
        <tr> 
        <td   width= " "85% " "> · 
            
        <a   href= " "Infor_View.aspx?ArticleId=2924 " "   class= " " " "> 
            
        张时善同志在安全生产工作现场会上... </a> <font   color= " "black " "> 
        </td> 
            
        </tr> 
        </table> </td> 
            
            
        </tr> 
          
        <tr> 
        <td   height= " "23 " "   align= " "left " "   class= " "td_hui " "> <table   width= " "100% " "   border= " "0 " "   cellspacing= " "0 " "   cellpadding= " "0 " "> 
            
        <tr> 
        <td   width= " "85% " "> · 
            
        <a   href= " "Infor_View.aspx?ArticleId=2687 " "   class= " " " "> 
            
        张时善同志在全市暑期安全生产工作... </a> <font   color= " "black " "> 
        </td> 
            
        </tr> 
        </table> </td> 
            
            
        </tr> 
          
    我要做个新闻采集功能,我要采集别的网站的新闻,上面是网站查看源文件的代码,我要采集的是     <a   href= " "Infor_View.aspx?ArticleId=2687 " "   class= " " " "> 
            
        张时善同志在全市暑期安全生产工作... </a> 求正则高手帮助,谢谢 
                                                      "; 
                            html   =   Regex.Replace(html,   @ "\r|\n|\t ",   " "); 
                            Regex   reg   =   new   Regex(@ "\ <a.*?ArticleId.*?\/a\> ",   RegexOptions.IgnoreCase); 
                            List <string>   links   =   new   List <string> (); 
                            foreach   (Match   m   in   reg.Matches(html)) 
                            { 
                                    links.Add(m.Value); 
                            } 
                            foreach   (var   r   in   links) 
                            { 
                                    Response.Write(r   +   " <br> "); 
                            } 
                    } 
      

  4.   

    (?is)<td width="85%">.*?(<a[^>]*>.*?</a>)<font color="black">.*?</td>
      

  5.   

    (?is)<a\b[^>]*?href=(["']?)[^"']*?ArticleId=\d+\1[^>]*?>.*?</a>
    这个正则只适合你给的html,应该有一些更明确的限定
      

  6.   


    谢谢你,我想抓取 http://www.tjsafety.gov.cn 这个网站的新闻,你的出来好像有很多其他的内容,我还是 要下面这样新闻的内容,不要图片新闻,你给看看如何获取到,谢谢了!!!
    <a href=  "Infor_View.aspx?ArticleId=2687 "    class= " "> 
    张时善同志在全市暑期安全生产工作... </a> 
      

  7.   


    谢谢你,我想抓取 http://www.tjsafety.gov.cn 这个网站的新闻,你的出来好像有很多其他的内容,我还是 要下面这样新闻的内容,不要图片新闻,你给看看如何获取到,谢谢了!!!
    <a href=  "Infor_View.aspx?ArticleId=2687 "    class= " "> 
    张时善同志在全市暑期安全生产工作... </a> 
      

  8.   

    谢谢你,我想抓取 http://www.tjsafety.gov.cn 这个网站的新闻,你的出来好像有很多其他的内容,我还是 要下面这样新闻的内容,不要图片新闻,你给看看如何获取到,谢谢了!!!
    <a href=  "Infor_View.aspx?ArticleId=2687 "    class= " "> 
    张时善同志在全市暑期安全生产工作... </a> 
      

  9.   

    修改如下
    (?is)<td width="85%">\s*?(<a[^>]*>.*?</a>)<font color="black">.*?</td>
      

  10.   

    谢谢你,我想抓取 http://www.tjsafety.gov.cn 这个网站的新闻,你的出来好像有很多其他的内容,我还是 要下面这样新闻的内容,不要图片新闻,你给看看如何获取到,谢谢了!!!
    <a href= "Infor_View.aspx?ArticleId=2687 " class= " ">  
    张时善同志在全市暑期安全生产工作... </a>