新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#正則表達(dá)式之回溯與非回溯淺析
C#正則表達(dá)式之回溯與非回溯是什么呢?我們學(xué)習(xí)這部分需要知道的有哪些東西呢?讓我們開始吧:

成都創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊十載來致力于為客戶提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團(tuán)隊,先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。
使用“(?>…)”方式進(jìn)行非回溯聲明。由于正則表達(dá)式引擎的貪婪特性,導(dǎo)致它在某些情況下,將進(jìn)行回溯以獲得匹配
請看下面的C#正則表達(dá)式之回溯與非回溯示例:
- string x = "Live for nothing,die for something";
- Regex r1 = new Regex(@".*thing,");
- if (r1.IsMatch(x))
- {
- Console.WriteLine("match:" + r1.Match(x).Value);//輸出:Live for nothing,
- }
- Regex r2 = new Regex(@"(?>.*)thing,");
- if (r2.IsMatch(x))//不匹配
- {
- Console.WriteLine("match:" + r2.Match(x).Value);
- }
- //在r1中,“.*”由于其貪婪特性,將一直匹配到字符串的***,
- //隨后匹配“thing”,但在匹配“,”時失敗,
- //此時引擎將回溯,并在“thing,”處匹配成功。
- //在r2中,由于強制非回溯,所以整個表達(dá)式匹配失敗。
C#正則表達(dá)式之回溯與非回溯使用的基本內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#正則表達(dá)式有所幫助。
文章名稱:C#正則表達(dá)式之回溯與非回溯淺析
當(dāng)前地址:http://m.fisionsoft.com.cn/article/cddihhi.html


咨詢
建站咨詢
