zoukankan      html  css  js  c++  java
  • 匹配html闭合标签

    <(?<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>

  • 相关阅读:
    处理数据
    Vue--Vue常用指令及操作
    Vue--Vue实例
    ES6--解构赋值
    ES6--入门
    前端模块化开发
    Node.js--入门
    HTML5--canvas与svg的使用
    input整理
    移动端开发入门
  • 原文地址:https://www.cnblogs.com/toloy/p/8955235.html
Copyright © 2011-2022 走看看