本帖最后由 w87875251l 于 2013-08-21 10:44:04 编辑

解决方案 »

  1.   

    (?is)<div[^>]*id="matter">(?><div[^>]*>(?<o>)|</div>(?<-o>)|(?:(?!</?div\b).)*)*(?(o)(?!))</div>
      

  2.   

    <div id="matter"> </div>内还包含很多html标签  我只是省略了 举了个最简单的例子
      

  3.   

    简单一点的
    <div\sid=matter>[\s\S]*?</div>\s*</div> 
    复杂的好像要写 嵌套的我 也不会。
      

  4.   

    1楼用的是正则的平衡组  想要了解更多,可以看看C#版主lxcnn (过客)的blog话说,好久没见到这个老家伙露面了
      

  5.   

    好的 有时间看看, 这个匹配是不是适用于 html 标签 
    比如 取<p> </p>之内的html代码
      

  6.   

    try this:
    http://www.cnblogs.com/insus/p/3181421.html
      

  7.   

    用正则来解析html内容不是一个好主意,如果中间还有其它div,那么基本上是不可能实现的,建议你试试这个:http://htmlagilitypack.codeplex.com/
      

  8.   


                string input = @"<div id=""matter"">
       <div id=""fykuang"" style=""float:left;""></div>
       <div id=""matterc"">
          <p>
         继《
               <span class=""cmsHotLink"">
             <a target=""_blank"" href=""http://newgame.17173.com/_lol/"">英雄联盟</a>
             </span>
             》职业联赛(简称:LPL)季后赛OMG折桂完美收官后,LPL夏季赛常规赛将于7月12日火热开启,   除        了LPL春季赛常规赛排名前六队伍IG、OMG、WE.GIGABYTE、ChinaPE、皇族.狼蛛、LMQ.Tc参赛        外,城市英雄争霸赛的冠亚军YG和PE.HK也将参与到常规赛的鏖战中。
          </p>
       </div>
    </div>";            XmlDocument xd = new XmlDocument();
                xd.LoadXml(input);            var node = xd.SelectSingleNode("div[@id='matter']");
                Console.WriteLine(node.InnerXml);            Console.Read();