日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#正則表達(dá)式引擎貪婪特性

C#正則表達(dá)式引擎貪婪特性,只要模式允許,它將匹配盡可能多的字符。通過在“重復(fù)描述字符”(*,+)后面添加“?”,可以將匹配模式改成非貪婪。請看以下示例:

鞏留網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司

 
 
 
  1. Code  
  2. string x = "Live for nothing,die for something";  
  3. Regex r1 = new Regex(@".*thing");  
  4. if (r1.IsMatch(x))  
  5. {  
  6. Console.WriteLine("match:" + r1.Match(x).Value);  
  7. //輸出:Live for nothing,die for something  
  8. }  
  9. Regex r2 = new Regex(@".*?thing");  
  10. if (r2.IsMatch(x))  
  11. {  
  12. Console.WriteLine("match:" + r2.Match(x).Value);  
  13. //輸出:Live for nothing  

使用“(?>…)”方式進(jìn)行非回溯聲明。由于C#正則表達(dá)式引擎的貪婪特性,導(dǎo)致它在某些情況下,將進(jìn)行回溯以獲得匹配,請看下面的示例:

 
 
 
  1. Code  
  2. string x = "Live for nothing,die for something";  
  3. Regex r1 = new Regex(@".*thing,");  
  4. if (r1.IsMatch(x))  
  5. {  
  6. Console.WriteLine("match:" + r1.Match(x).Value);  
  7. //輸出:Live for nothing,  
  8. }  
  9. Regex r2 = new Regex(@"(?>.*)thing,");  
  10. if (r2.IsMatch(x))//不匹配  
  11. {  
  12. Console.WriteLine("match:" + r2.Match(x).Value);  

在r1中,“.*”由于其貪婪特性,將一直匹配到字符串的***,隨后匹配“thing”,但在匹配“,”時失敗,此時引擎將回溯,并在“thing,”處匹配成功。
在r2中,由于強(qiáng)制非回溯,所以整個表達(dá)式匹配失敗。以上介紹C#正則表達(dá)式引擎的貪婪特性。

【編輯推薦】

  1. C#結(jié)構(gòu)體的特點(diǎn)淺析
  2. 介紹C#窗體拖動事件
  3. C#讀取Excel遇到無法讀取的解決方法
  4. 概述C#.NET操作XML
  5. C#基礎(chǔ)概念學(xué)習(xí)筆記

網(wǎng)站欄目:C#正則表達(dá)式引擎貪婪特性
網(wǎng)站路徑:http://www.5511xx.com/article/djdissg.html