成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#正則表達式經(jīng)驗總結(jié)

開發(fā) 后端
這里介紹C#正則表達式包含在.NET基礎雷庫的一個名稱空間下,這個名稱空間就是System.Text.RegularExpressions。
C#語言還是比較常見的東西,這里我們主要介紹C#正則表達式,包括介紹使用Regex、Match類的簡單表達式等方面。

到目前為止,許多的編程語言和工具都包含對正則表達式的支持,當然.NET也不例外,.NET基礎類庫中包含有一個名稱空間和一系列可以充分發(fā)揮規(guī)則表達式威力的類。

正則表達式的知識可能是不少編程人員最煩惱的事兒了。如果你還沒有規(guī)則表達式方面的知識的話,建議從正則表達式的基礎知識入手。前參見 正則表達式語法。

下面就來研究C#正則表達式,C#正則表達式包含在.NET基礎雷庫的一個名稱空間下,這個名稱空間就是System.Text.RegularExpressions。該名稱空間包括8個類,1個枚舉,1個委托。他們分別是:
◆Capture: 包含一次匹配的結(jié)果;
◆CaptureCollection: Capture的序列;
◆Group: 一次組記錄的結(jié)果,由Capture繼承而來;
◆GroupCollection:表示捕獲組的集合
◆Match: 一次表達式的匹配結(jié)果,由Group繼承而來;
◆MatchCollection: Match的一個序列;
◆MatchEvaluator: 執(zhí)行替換操作時使用的委托;
◆Regex:編譯后的表達式的實例。
◆RegexCompilationInfo:提供編譯器用于將正則表達式編譯為獨立程序集的信息
◆RegexOptions 提供用于設置正則表達式的枚舉值

Regex類中還包含一些靜態(tài)的方法:
◆Escape: 對字符串中的regex中的轉(zhuǎn)義符進行轉(zhuǎn)義;
◆IsMatch: 如果表達式在字符串中匹配,該方法返回一個布爾值;
◆Match: 返回Match的實例;
◆Matches: 返回一系列的Match的方法;
◆Replace: 用替換字符串替換匹配的表達式;
◆Split: 返回一系列由表達式?jīng)Q定的字符串;
◆Unescape:不對字符串中的轉(zhuǎn)義字符轉(zhuǎn)義。

下面介紹他們的用途:

先看一個簡單的匹配例子,我們首先從使用Regex、Match類的簡單表達式開始學習。 Match m = Regex.Match("abracadabra", "(a|b|r)+"); 我們現(xiàn)在有了一個可以用于測試的Match類的實例,例如:if (m.Success){},如果想使用匹配的字符串,可以把它轉(zhuǎn)換成一個字符串:  MesaageBox.Show("Match="+m.ToString()); 這個例子可以得到如下的輸出: Match=abra。這就是匹配的字符串了。

Regex 類表示只讀正則表達式類。它還包含各種靜態(tài)方法(在下面的實例中將逐一介紹),允許在不顯式創(chuàng)建其他類的實例的情況下使用其他正則表達式類。

以下代碼示例創(chuàng)建了 Regex 類的實例并在初始化對象時定義一個簡單的正則表達式。聲明一個Regex對象變量:Regex objAlphaPatt;,接著創(chuàng)建Regex對象的一個實例,并定義其規(guī)則:objAlphaPatt=new Regex("[^a-zA-Z]");

IsMatch方法指示 Regex 構造函數(shù)中指定的正則表達式在輸入字符串中是否找到匹配項。這是我們使用C#正則表達式時最常用的方法之一。下面的例子說明了IsMatch方法的使用:

  1. if( !objAlphaPatt.IsMatch("testisMatchMethod"))  
  2.  lblMsg.Text = "匹配成功";  
  3. else  
  4.  lblMsg.Text = "匹配不成功";  
  5. 這段代碼執(zhí)行的結(jié)果是“匹配成功”  
  6. if( ! objAlphaPatt.IsMatch("testisMatchMethod7654298"))  
  7.  lblMsg.Text = "匹配成功";  
  8. else  
  9.  lblMsg.Text = "匹配不成功"

Split方法是把由正則表達式匹配項定義的位置將輸入字符串拆分為一個子字符串數(shù)組。例如:

  1. Regex r = new Regex("-"); // Split on hyphens.  
  2. string[] s = r.Split("first-second-third");  
  3. for(int i=0;i<s.Length;i++)  
  4. {  
  5.  Response.Write(s[i]+"<br>");  

看上去和String的Split方法一樣,但string的Split方法在由正則表達式而不是一組字符確定的分隔符處拆分字符串。

Match方法是在輸入字符串中搜索正則表達式的匹配項,并Regex 類的 Match 方法返回 Match 對象,Match 類表示正則表達式匹配操作的結(jié)果。

【編輯推薦】

  1. C#類和結(jié)構簡單介紹
  2. C# explicti和implicit詳解
  3. C#編寫ActiveX控件詳細介紹
  4. C# StringBuilder和String淺析
  5. C#別名指示符學習經(jīng)驗
責任編輯:佚名 來源: 博客園
相關推薦

2009-10-26 16:01:03

VB.NET正則表達式

2009-08-07 15:16:10

C#正則表達式

2009-08-03 17:27:14

C#正則表達式

2009-08-17 13:56:28

C#正則表達式入門

2024-12-16 07:33:45

C#正則表達式

2009-09-09 17:14:17

Linq lambda

2009-08-11 13:00:41

C#正則表達式

2009-08-13 15:24:27

C#正則表達式

2009-08-20 16:23:32

C#正則表達式語法

2009-08-24 17:14:41

正則表達式C#和.NET框架

2009-08-20 14:43:03

C#正則表達式Rege

2011-04-25 08:44:34

C#正則表達式

2009-08-20 13:09:28

C#正則表達式

2009-08-13 15:02:52

C#正則表達式引擎貪婪

2009-08-14 15:50:45

C#正則表達式

2009-08-14 17:52:30

C#表達式工具

2021-03-02 07:33:13

開發(fā)C#字符

2009-08-20 15:10:33

C#正則表達式

2009-08-20 15:02:41

C#正則表達式

2009-08-20 15:06:51

C#正則表達式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频大全 | 亚洲欧美一区二区三区国产精品 | 国产亚洲精品久久久久动 | 九九综合 | 国产激情一区二区三区 | 国产精品视频在线播放 | 久久久久久久久久久久久91 | 国产美女精品视频免费观看 | 国产成人精品一区二区三 | 一级毛片在线看 | 午夜精品久久 | 国产视频中文字幕在线观看 | 国产一区二区三区四区 | 精品久久久久久亚洲精品 | 日韩手机在线看片 | 在线视频一区二区三区 | www.色综合| 亚洲国产免费 | 日本在线免费看最新的电影 | 国产毛片视频 | 久久综合一区二区 | 欧美一级视频在线观看 | 久久综合国产 | 欧美日韩视频在线播放 | 99久久久久久| 国产精品乱码一区二三区小蝌蚪 | 超碰在线人人 | 欧美一区二区三区在线播放 | 日本超碰| 91在线免费视频 | 国产综合在线视频 | 亚洲区一区二区 | 中文字幕亚洲欧美日韩在线不卡 | 久久免费精品视频 | 欧美成人专区 | 久久久综合久久 | 欧美日韩亚洲视频 | 亚洲精品久久嫩草网站秘色 | 亚洲精品乱码久久久久久按摩观 | 国产精品视频97 | 国产成人精品久久二区二区 |