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

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

新聞中心

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

C#匹配字符串

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

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

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

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

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

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

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

 
 
 
 
  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. }  

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

【編輯推薦】

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

當(dāng)前標(biāo)題:淺談C#匹配字符串
本文來源:http://www.5511xx.com/article/cceoiod.html