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>

  • 相关阅读:
    NAND FLASH扇区管理
    ECC内存校验算法
    实时数据库简介
    windows标准控件
    PLC一些资料
    at命令
    Vi 常用命令列表
    PHP继承及实现
    Mongodb php扩展及安装
    Linux下jdk1.6安装指引
  • 原文地址:https://www.cnblogs.com/toloy/p/8955235.html
Copyright © 2011-2022 走看看