平衡組用于匹配嵌套層次結(jié)構(gòu),常用于匹配HTML標(biāo)簽(當(dāng)HTML內(nèi)容不規(guī)范,起始標(biāo)簽和結(jié)束標(biāo)簽數(shù)量不同時(shí),匹配出正確配對(duì)的標(biāo)簽),在此把表達(dá)式統(tǒng)一以\w
為例。
(?'group'\w)
捕獲的分組(\w
匹配到的內(nèi)容)命名為group
,并壓入堆棧(?'-group'\w)
捕獲分組(\w
匹配到的內(nèi)容)后,彈出group
分組棧的棧頂內(nèi)容(最后壓入的捕獲內(nèi)容),堆棧本來為空,則本分組的匹配失敗(?(group)yes|no)
如果group
棧非空匹配表達(dá)式yes
,否則匹配表達(dá)式no
(?!)
零寬負(fù)向先行斷言,由于沒有后綴表達(dá)式,試圖匹配總是失敗
更多建議: