日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談C#匹配字符串

C#匹配字符串

創(chuàng)新互聯(lián)服務項目包括羅源網(wǎng)站建設、羅源網(wǎng)站制作、羅源網(wǎng)頁制作以及羅源網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,羅源網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到羅源省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

大多數(shù)重要的正則表達式語言運算符都是非轉(zhuǎn)義的單個字符。轉(zhuǎn)義符 \(單個反斜杠)通知正則表達式分析器反斜杠后面的字符不是運算符。例如,分析器將星號 (*) 視為重復限定符,而將后跟星號的反斜杠 (\*) 視為 Unicode 字符 002A。

使用一般表達式要習慣的一點是,查看像這樣怪異的字符序列,但這個序列的工作是非常邏輯化的。轉(zhuǎn)義序列\(zhòng)S表示任何不適空白的字符。*稱為數(shù)量詞,其含義是前面的字符可以重復任意次,包括0次。序列\(zhòng)S*表示任何不適空白的字符。因此,上面的模式匹配于以n開頭,以ion結(jié)尾的任何單個字。下表中列出的字符轉(zhuǎn)義在正則表達式和替換模式中都會被識別。

表1:特定字符或轉(zhuǎn)義序列

如果要搜索一個元字符,也可以通過帶有反斜杠的轉(zhuǎn)義字符來表示。例如,.表示除了換行字符以外的任何字符,而\.表示一個點。

可以把可替換的字符放在方括號中,請求匹配包含這些字符。例如,[1|c]表示字符可以是1或者是c。如果要搜索map或者man,可以使用序列"ma[n|p]"(僅指引號內(nèi)字符,下面雷同)。在方括號中,也可以制定一個范圍,例如"[a-z]"表示所有的小寫字母(使用連字號 (-) 允許指定連續(xù)字符范圍),"[B-F]"表示B到F之間的所有大寫字母,"[0-9]"表示一個數(shù)字,如果要搜索一個整數(shù)(該序列只包含0到9的字符),就可以編寫"[0-9]+"(注意,使用+字符表示至少要有這樣一個數(shù)字,但可以有多個數(shù)字,所以9、83和3443等都是匹配的。)
下面看看一般表達式的結(jié)果,編寫一個實例RegularExpressionsZzy。建立幾個一般表達式,顯示其結(jié)果,讓用戶了解一下表達式是如何工作的。

該實例的核心是一個方法WriteMatches(),它把MatchCollection中的所有匹配以比較詳細的方式顯示出來。對于每個匹配,它都會顯示該匹配在輸入字符串中所在的索引,C#匹配字符串和一個略長的字符串,其中包含輸入文本中至多8個外圍字符,其中至少有5個字符放在匹配的前面,至多5個字符放在匹配的后面(如果匹配的位置在輸入文本的開頭或結(jié)尾5個字符內(nèi),則結(jié)果中匹配前后的字符就會少于4個)。換言之,靠近輸入文本末尾的匹配應是"and messaging ofd",匹配的前后各有5個字符,但位于輸入文本的***一個字上的匹配就應是"g of data",匹配的字后只有一個字符。因為在該字符的后面是字符串的結(jié)尾。這個長字符串可以更清楚地表明一般表達式是在什么地方查找到匹配的:

 
 
 
 
  1. staticvoidWriteMatches(stringtext,MatchCollectionmatches)  
  2. {  
  3. Console.WriteLine("Originaltextwas:\n\n"+text+"\n");  
  4. Console.WriteLine("No.ofmatches:"+matches.Count);  
  5. foreach(MatchnextMatchinmatches)  
  6. {  
  7. intIndex=nextMatch.Index;  
  8. stringresult=nextMatch.ToString();  
  9. intcharsBefore=(Index<5)?Index:5;  
  10. intfromEnd=text.Length-Index-result.Length;  
  11. intcharsAfter=(fromEnd<5)?fromEnd:5;  
  12. intcharsToDisplay=charsBefore+charsAfter+result.Length;  
  13. Console.WriteLine("Index:{0},\tString:{1},\t{2}",Index,result,  
  14. text.Substring(Index-charsBefore,charsToDisplay));  
  15. }  

在這個方法中,處理過程是確定在較長的字符串中有多少個字符可以顯示,而無需超限輸入文本的開頭或結(jié)尾。注意在Match對象上使用了另一個屬性Value,它包含標識該C#匹配字符串,而且,RegularExpressionsZzy只包含名為Find_po,F(xiàn)ind_n等的方法,這些方法根據(jù)本文執(zhí)行某些搜索操作。

【編輯推薦】

  1. C#字符串進行分割
  2. 全面測試C#字符串
  3. C# out和ref傳遞數(shù)組
  4. 淺析C#定義整型數(shù)組
  5. C#數(shù)據(jù)庫連接字符串

網(wǎng)頁題目:淺談C#匹配字符串
本文網(wǎng)址:http://www.dlmjj.cn/article/cceoiod.html