1. 平衡組/遞歸匹配
(?'group') 將名為group對(duì)應(yīng)的內(nèi)容,壓棧計(jì)數(shù);
(?'-group') 將名為group的對(duì)應(yīng)的內(nèi)容, 出棧計(jì)數(shù)
(?!) 零寬負(fù)向先行斷言,由于沒(méi)有后綴表達(dá)式,試圖匹配總是失敗
正則樣例:
,{0,1}"5":\[[^\[\]]*(((?'Open'\[)[^\[\]]*)+((?'-Open'\])[^\[\]]*)+)*(?(Open)(?!))\],{0,1}
測(cè)試數(shù)據(jù):
{"0":["0","0-1","0-2"],"1":["1","1-1","1-2"],"2":["2","2-1","2-2"],"3":["3","3-1","3-2"],"4":["4","4-1","4-2"],"5":["5","5-1","5-2"]}
比對(duì)結(jié)果:,"1":["1","1-1","1-2"],
評(píng)語(yǔ):這個(gè)寫(xiě)的很不錯(cuò)??梢赃_(dá)到取出最近的一個(gè)]的效果
2. 零寬斷言
(?=exp) 匹配exp前面的位置
(?=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?!exp) 匹配前面不是exp的位置
正則樣例:
(?=(\w+)>).*(?=\/\1>)
測(cè)試數(shù)據(jù):
li>a href="#updatelog">更新紀(jì)錄/a>/li>
比對(duì)結(jié)果:a href="#updatelog">更新紀(jì)錄/a>
評(píng)語(yǔ):這個(gè)寫(xiě)的很不錯(cuò)??梢匀¢_(kāi)始取結(jié)束,不過(guò)不能在a>..../a>中再出現(xiàn)a>.../a>的情況,還好HMTL里不讓a>中再出現(xiàn)a>。如果像DIV這樣的,就得用下面的樣子寫(xiě)了。
[^>]*(((?'Open')[^>]*)+((?'-Open'>)[^>]*)+)*(?(Open)(?!))>
div class="note">aaadiv>其它可用的測(cè)試工具:/div>bbbb/div>div>a href="www.*****.com">gogogo/a>/div>
您可能感興趣的文章:- ASP.NET 中的正則表達(dá)式
- 收集的ASP.NET中常用正則表達(dá)式
- asp.net驗(yàn)證一個(gè)字符串是否符合指定的正則表達(dá)式
- asp.net常用正則表達(dá)式
- ASP.NET使用正則表達(dá)式屏蔽垃圾信息
- asp.net 正則表達(dá)式[經(jīng)常用的到]
- asp.net正則表達(dá)式刪除指定的HTML標(biāo)簽的代碼
- asp.net中利用正則表達(dá)式判斷一個(gè)字符串是否為數(shù)字的代碼
- 收集整理ASP.NET中17種常用正則表達(dá)式