匹配html閉合標籤

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

 

分解遞歸

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

  (?<HtmlTag>[\w]+)  意思是將[\w]+匹配到的結果存入變量HtmlTag中,名字可隨意定,後面用到可以使用\k<HtmlTag>,好比匹配div變量

    (?<HtmlTag>div)    通常用於不肯定標籤名時匹配di

    *?    - > * 默認是貪婪模式,0次或屢次,也就是儘量多的匹配。*? 就是儘量少匹配標籤

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

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

    (?<Nested><\k<HtmlTag>[^>]*>)相似遞歸,在遇到值爲<\k<HtmlTag>[^>]*>     +1,

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

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

    | 或

三、</\k<HtmlTag>>

  使用前面定義的HtmlTag內容,通常標籤都是成對的,好比<div><span>...test<span></div>

相關文章
相關標籤/搜索