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