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