asp.net正则匹配嵌套Html标签

废话不多说,直接代码

1、要匹配的html代码

<div class="conItem" id="footer">
    <a id="gotop" href="#" onclick="MGJS.goTop();return false;">Top</a>
    <a id="powered" href="http://wordxxx.org/">WordPress1</a>
    <div id="copyright">
        Copyright &copy; 2001 简单生活</div>
    <div id="themeinfo">
        Theme by <a href="http://www.xxx.com/">mg12</a>.
 Valid <a href="http://xxx.xxxxxx.org/check?uri=referer">XHTML 1.1</a>
        and <a href="http://xxx.xxx.org/css-validator/">CSS 3</a>.
        <div>
            <div><span>111111</span></div>
        </div>
    </div> 
</div> 
<div>123</div>
<div class="conItem" id="footer">
    <a id="gotop" href="#" onclick="MGJS.goTop();return false;">Top</a>
    <a id="powered" href="http://xxx.org/">WordPress2</a>
    <div id="copyright">
        Copyright &copy; 2002 简单生活</div>
    <div id="themeinfo">
        Theme by <a href="http://www.xxxxx.com/">mg12</a>.
 Valid <a href="http://xxxx.xxxxx.org/check?uri=referer">XHTML 1.1</a>
        and <a href="http://xxxx.wwwwww.org/css-validator/">CSS 3</a>.
        <div>
            <div><span>222222</span></div>
        </div>
    </div> 
</div>
<div>456</div>
<div class="conItem" id="footer">
    <a id="gotop" href="#" onclick="MGJS.goTop();return false;">Top</a>
    <a id="powered" href="http://xxxxx.org/">WordPress3</a>
    <div id="copyright">
        Copyright &copy; 2003 简单生活</div>
    <div id="themeinfo">
        Theme by <a href="http://www.xxxxxx4.com/">mg12</a>.
 Valid <a href="http://xxx.wwwww3.org/check?uri=referer">XHTML 1.1</a>
        and <a href="http://wwwwwx.wwww3.org/css-validator/">CSS 3</a>.
    </div> 
</div>

2、正则代码

可以根据id匹配,也可以根据class匹配

        string html = “html代码”;

//Regex reg = new Regex(@"<(?<HtmlTag>[\w]+)[^>]*\sclass=(?<Quote>[""']?)conItem(?(Quote)\k<Quote>)[""']?[^>]*>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
        Regex reg = new Regex(@"<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>[""']?)footer(?(Quote)\k<Quote>)[""']?[^>]*>(((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*)</\k<HtmlTag>>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
        MatchCollection mc = reg.Matches(html);
        if (mc.Count > 0)
        {
            Response.Write(mc.Count.ToString());
            foreach (Match m in mc)
            {
                string strItem =  m.Value;
                Response.Write(strItem + "<br><br><br>\r\n-------------------------\r\n");
            }
        }

代码收集于网络,亲测有效!

转载于:https://www.cnblogs.com/webapi/p/9176468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值