開通VIP,暢享免費電子書等14項超值服
首頁
好書
留言交流
下載APP
聯(lián)系客服
2013.05.06
正則表達(dá)式的命名分組是一個相當(dāng)強(qiáng)大的功能,命名分組的解釋是:將匹配的子字符串捕獲到一個組名稱或編號名稱中。在獲得匹配結(jié)果時,可通過分組名進(jìn)行獲取。
例如:
(?<a>\d+)
該正則表達(dá)式的意思是把匹配到的所有數(shù)字捕獲到一個以a命名的分組中。在獲得匹配結(jié)果時,可通過a進(jìn)行獲取
1 string str = "abc123456eracd";2 Regex reg = new Regex(@"(?<a>\d+)");3 Match match = reg.Match(str);4 if (match.Success)5 {6 Response.Write(match.Groups["a"].Value);7 }
結(jié)果是:123456
另外,分組還可以在正則表達(dá)式中引用,即后向引用\k<組名>
在上面我們的例子中就是\k<a>
1 string str = "www.twitter.com";2 Regex reg = new Regex(@"w{3}.(?<a>t)w(?<b>i)\k<a>{2}er.com");3 Match match = reg.Match(str);4 if (match.Success)5 {6 Response.Write("匹配值:"+match.Groups[0].Value);7 }
結(jié)果是:匹配值:www.twitter.com
此時\d<a>就代表前面匹配到的t,{2}則是t出現(xiàn)兩次。
微信登錄中...請勿關(guān)閉此頁面