分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

匹配html闭合标签

发布时间:2023-09-06 01:51责任编辑:蔡小小关键词:暂无标签

<(?<HtmlTag>[\w]+)[^>]*?>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>

分解

1、<(?<HtmlTag>[\w]+)[^>]*?>

  (?<HtmlTag>[\w]+)  意思是将[\w]+匹配到的结果存入变量HtmlTag中,名字可随意定,后面用到可使用\k<HtmlTag>,比如匹配div

    (?<HtmlTag>div)    一般用于不确定标签名时匹配

    *?    - > * 默认是贪婪模式,0次或多次,也就是尽可能多的匹配。*? 就是尽可能少匹配

2、((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*

  (?<Nested><\k<HtmlTag>[^>]*>)   |   </\k<HtmlTag>>(?<-Nested>)    |    .*?

    (?<Nested><\k<HtmlTag>[^>]*>)类似递归,在遇到值为<\k<HtmlTag>[^>]*>     +1,

    </\k<HtmlTag>>(?<-Nested>)  遇到值为</\k<HtmlTag>>  -1 

    .*? 就是  匹配任意单行字符

    | 或

3、</\k<HtmlTag>>

  使用前面定义的HtmlTag内容,一般标签都是成对的,比如<div><span>...test<span></div>

匹配html闭合标签

原文地址:https://www.cnblogs.com/toloy/p/8955235.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved