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>

  • 相关阅读:
    Picture
    wolf and rabbit
    十进制转换为二进制(一直不会算的)
    各种排序
    折线分割平面
    字母数
    1001
    Primes
    大数的减法神秘数
    转: Windows Internet WinINet 学习笔记(2)
  • 原文地址:https://www.cnblogs.com/toloy/p/8955235.html
Copyright © 2011-2022 走看看