C#正則表達(dá)式之預(yù)搜索淺析
C#正則表達(dá)式之預(yù)搜索是什么呢?C#正則表達(dá)式之預(yù)搜索都有什么內(nèi)容呢?我們學(xué)習(xí)這部分需要注意什么呢?讓我們開(kāi)始吧:
C#正則表達(dá)式之預(yù)搜索分為:正向預(yù)搜索、反向預(yù)搜索。下面我們一一介紹:
C#正則表達(dá)式之正向預(yù)搜索聲明格式:正聲明 “(?=…)”,負(fù)聲明 “(?!...)” ,聲明本身不作為最終匹配結(jié)果的一部分
請(qǐng)看下面的C#正則表達(dá)式之正向預(yù)搜索示例:
- string x = "1024 used 2048 free";
- Regex r1 = new Regex(@"\d{4}(?= used)");
- if (r1.Matches(x).Count==1)
- {
- Console.WriteLine("r1 match:" + r1.Match(x).Value);//輸出:1024
- }
- Regex r2 = new Regex(@"\d{4}(?! used)");
- if (r2.Matches(x).Count==1)
- {
- Console.WriteLine("r2 match:" + r2.Match(x).Value); //輸出:2048
- }
- //r1中的正聲明表示必須保證在四位數(shù)字的后面必須緊跟著“ used”,
- //r2中的負(fù)聲明表示四位數(shù)字之后不能跟有“ used”。
C#正則表達(dá)式之反向預(yù)搜索聲明格式:正聲明“(?<=)”,負(fù)聲明“(?<!)”,聲明本身不作為最終匹配結(jié)果的一部分
請(qǐng)看下面的C#正則表達(dá)式之反向預(yù)搜索示例:
- string x = "used:1024 free:2048";
- Regex r1 = new Regex(@"(?<=used:)\d{4}");
- if (r1.Matches(x).Count==1)
- {
- Console.WriteLine("r1 match:" + r1.Match(x).Value);//輸出:1024
- }
- Regex r2 = new Regex(@"(?<!used:)\d{4}");
- if (r2.Matches(x).Count==1)
- {
- Console.WriteLine("r2 match:" + r2.Match(x).Value);//輸出:2048
- }
- //r1中的反向正聲明表示在4位數(shù)字之前必須緊跟著“used:”,
- //r2中的反向負(fù)聲明表示在4位數(shù)字之前必須緊跟著除“used:”之外的字符串。
C#正則表達(dá)式之預(yù)搜索使用的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#正則表達(dá)式有所幫助。
【編輯推薦】