這篇文章主要講解了“C#正則表達(dá)式怎么理解”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C#正則表達(dá)式怎么理解”吧!
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出樂平免費(fèi)做網(wǎng)站回饋大家。
到目前為止,許多的編程語(yǔ)言和工具都包含對(duì)正則表達(dá)式的支持,當(dāng)然.NET也不例外,.NET基礎(chǔ)類庫(kù)中包含有一個(gè)名稱空間和一系列可以充分發(fā)揮規(guī)則表達(dá)式威力的類。
正則表達(dá)式的知識(shí)可能是不少編程人員最煩惱的事兒了。如果你還沒有規(guī)則表達(dá)式方面的知識(shí)的話,建議從正則表達(dá)式的基礎(chǔ)知識(shí)入手。前參見 正則表達(dá)式語(yǔ)法。
下面就來(lái)研究C#正則表達(dá)式,C#正則表達(dá)式包含在.NET基礎(chǔ)雷庫(kù)的一個(gè)名稱空間下,這個(gè)名稱空間就是System.Text.RegularExpressions。該名稱空間包括8個(gè)類,1個(gè)枚舉,1個(gè)委托。他們分別是:
◆Capture: 包含一次匹配的結(jié)果;
◆CaptureCollection: Capture的序列;
◆Group: 一次組記錄的結(jié)果,由Capture繼承而來(lái);
◆GroupCollection:表示捕獲組的集合
◆Match: 一次表達(dá)式的匹配結(jié)果,由Group繼承而來(lái);
◆MatchCollection: Match的一個(gè)序列;
◆MatchEvaluator: 執(zhí)行替換操作時(shí)使用的委托;
◆Regex:編譯后的表達(dá)式的實(shí)例。
◆RegexCompilationInfo:提供編譯器用于將正則表達(dá)式編譯為獨(dú)立程序集的信息
◆RegexOptions 提供用于設(shè)置正則表達(dá)式的枚舉值
Regex類中還包含一些靜態(tài)的方法:
◆Escape: 對(duì)字符串中的regex中的轉(zhuǎn)義符進(jìn)行轉(zhuǎn)義;
◆IsMatch: 如果表達(dá)式在字符串中匹配,該方法返回一個(gè)布爾值;
◆Match: 返回Match的實(shí)例;
◆Matches: 返回一系列的Match的方法;
◆Replace: 用替換字符串替換匹配的表達(dá)式;
◆Split: 返回一系列由表達(dá)式?jīng)Q定的字符串;
◆Unescape:不對(duì)字符串中的轉(zhuǎn)義字符轉(zhuǎn)義。
下面介紹他們的用途:
先看一個(gè)簡(jiǎn)單的匹配例子,我們首先從使用Regex、Match類的簡(jiǎn)單表達(dá)式開始學(xué)習(xí)。 Match m = Regex.Match("abracadabra", "(a|b|r)+"); 我們現(xiàn)在有了一個(gè)可以用于測(cè)試的Match類的實(shí)例,例如:if (m.Success){},如果想使用匹配的字符串,可以把它轉(zhuǎn)換成一個(gè)字符串:MesaageBox.Show("Match="+m.ToString()); 這個(gè)例子可以得到如下的輸出: Match=abra。這就是匹配的字符串了。
Regex 類表示只讀正則表達(dá)式類。它還包含各種靜態(tài)方法(在下面的實(shí)例中將逐一介紹),允許在不顯式創(chuàng)建其他類的實(shí)例的情況下使用其他正則表達(dá)式類。
以下代碼示例創(chuàng)建了 Regex 類的實(shí)例并在初始化對(duì)象時(shí)定義一個(gè)簡(jiǎn)單的正則表達(dá)式。聲明一個(gè)Regex對(duì)象變量:Regex objAlphaPatt;,接著創(chuàng)建Regex對(duì)象的一個(gè)實(shí)例,并定義其規(guī)則:objAlphaPatt=new Regex("[^a-zA-Z]");
IsMatch方法指示 Regex 構(gòu)造函數(shù)中指定的正則表達(dá)式在輸入字符串中是否找到匹配項(xiàng)。這是我們使用C#正則表達(dá)式時(shí)最常用的方法之一。下面的例子說明了IsMatch方法的使用:
if( !objAlphaPatt.IsMatch("testisMatchMethod")) lblMsg.Text = "匹配成功"; else lblMsg.Text = "匹配不成功"; 這段代碼執(zhí)行的結(jié)果是“匹配成功” if( ! objAlphaPatt.IsMatch("testisMatchMethod7654298")) lblMsg.Text = "匹配成功"; else lblMsg.Text = "匹配不成功";
Split方法是把由正則表達(dá)式匹配項(xiàng)定義的位置將輸入字符串拆分為一個(gè)子字符串?dāng)?shù)組。例如:
Regex r = new Regex("-"); // Split on hyphens. string[] s = r.Split("first-second-third"); for(int i=0;i<s.Length;i++) { Response.Write(s[i]+"<br>"); }
看上去和String的Split方法一樣,但string的Split方法在由正則表達(dá)式而不是一組字符確定的分隔符處拆分字符串。
Match方法是在輸入字符串中搜索正則表達(dá)式的匹配項(xiàng),并Regex 類的 Match 方法返回 Match 對(duì)象,Match 類表示正則表達(dá)式匹配操作的結(jié)果。
感謝各位的閱讀,以上就是“C#正則表達(dá)式怎么理解”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)C#正則表達(dá)式怎么理解這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享名稱:C#正則表達(dá)式怎么理解
分享路徑:http://chinadenli.net/article46/ppeghg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、虛擬主機(jī)、外貿(mào)建站、企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)