当前位置:asp编程网>技术教程>Net教程>  正文

C#使用正则匹配嵌套div里面的内容

2017-06-28 09:10:29   来源:www.aspbc.com   作者:mynetcode   浏览量:3399   收藏
用C#采集网页的内容后,但内容中div一层嵌套一层。
如果直接采集<div>与</div>之间的内容肯定得不到我们想要的内容。
所以要获取嵌套div之间的内容才可以,也是从当前<div>开始到对应的</div>结束。
下面介绍一下使用C#使用正则匹配嵌套div里面的内容,以下函数是获取<div id="content"></div>之间的匹配嵌套div中的内容,也可以修改相应的地方,获取<div class="content1"></div>之间的内容

private string getRegHtml(string s2)
{
    string result = "";    
string reg = @"<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>[""']?)content(?(Quote)\k<Quote>)[""']?[^>]*>(((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*)</\k<HtmlTag>>";
    MatchCollection m = Regex.Matches(s2,reg,RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline);
    foreach (Match sub_m in m)
    {
       result = sub_m.Groups[1].Value;
    }
    return result;
}

关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网