.net抓取网页内容回来怎么用正则匹配出来 内容抓回来了 我需要用正则怎么匹配出来里面的内容 求大神主要代码如下:
try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Capture);
                //HttpWebRequest请求
                request.Headers.Set("Pragma", "no-cache");                HttpWebResponse response = (HttpWebResponse)request.GetResponse();                Stream streamReceive = response.GetResponseStream();                Encoding encoding = Encoding.GetEncoding("GB2312");
                //StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));                 StreamReader streamReader = new StreamReader(streamReceive, encoding);                strResult = streamReader.ReadToEnd(); //strResult是抓取出来的源代码 我需要匹配            }
                
            catch
            {            }
            return;

解决方案 »

  1.   

    http://zhoufoxcn.blog.51cto.com/792419/595344
      

  2.   

    你贴点html示例和需要的结果嘛~
      

  3.   

    http://news.sina.com.cn/c/2013-01-22/051926089895.shtml像这种新闻把标题和内容都取出来 已经抓取到了源代码 不知道怎么去用正则匹配出来
      

  4.   


    string regStr = "(?is)<h1 id=\"artibodyTitle\"[^>]*?>(?<title>.*?)</h1>.*?<!-- publish[^>]*?>(?<content>.*?)<!-- publish_helper_end";
    可以试下~
      

  5.   

    (?is)<h1 id="artibodyTitle"[^>]*?>(?<title>.*?)</h1>.*?<!-- publish[^>]*?>(?<content>.*?)<!-- publish_helper_end该转义的需要转义下
      

  6.   

    strResult = streamReader.ReadToEnd();这个是我抓出的源代码结果 但是用你的方法这么赋值给匹配的变量呢?
      

  7.   


    没用过正则么??string regStr = "(?is)<h1 id=\"artibodyTitle\"[^>]*?>(?<title>.*?)</h1>.*?<!-- publish[^>]*?>(?<content>.*?)<!-- publish_helper_end";
    Match mc = Regex.Match(strResult,regStr);
    Console.WriteLine(mc.Group["title"].Value);
    Console.WriteLine(mc.Group["content"].Value);
      

  8.   

      string str = GetHtml("http://news.sina.com.cn/c/2013-01-22/051926089895.shtml", Encoding.GetEncoding("gb2312"));
                Match m = Regex.Match(str, @"(?is)<h1[^>]*?id=""artibodyTitle""[^>]*>(?<title>[^<]+).*?<div[^>]*?id=""artibody""[^>]*>(?<body>((?<g><div)|(?<-g></div>)|(?!</?div)[\s\S])*(?(g)(?!)))</div>");
                Console.WriteLine(m.Groups["title"].Value);
                Console.WriteLine(Regex.Replace(m.Groups["body"].Value,"<[^>]*>",""));
                Console.ReadLine();
      

  9.   

    m.Groups 需要引用什么命名空间 
      

  10.   

    m.Groups 需要引用什么命名空间 
      

  11.   


    Regex需要using System.Text.RegularExpressions;
      

  12.   

      hjywyj  whowhen21  问题解决