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

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

開發 后端
這里介紹C#和.NET框架正則表達式,借助于C#和.NET框架,字符串成為該基類庫的一個本機組成部分,并且提供給你大量的工具方法用于實現字符串的比較,操作,格式化等操作。

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

正則表達式的一種最常用的場所是用于使用一些預先定義的格式(例如,強制建立的規則用于確保口令中包含特定的使其很難被拆斷的字符)校驗用戶輸入。這些規則被典型地定義為正則表達式。正則表達式也常用于校驗簡單的輸入,例如電子郵件地址和電話號碼。

C#和.NET框架提供的操作正則表達式的一個關鍵類是RegEx類。這個類提供一個靜態的方法IsMatch,它返回一個布爾值指示是否指定的輸入字符串匹配一個給定的正則表達式。

在下列代碼中,使用一個普通正則表達式來測試電子郵件地址的有效性:

  1. string emailPattern = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|[ccc]  
  2. (([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";  
  3. Console.Write("Enter an e-mail address:");  
  4. string emailInput = Console.ReadLine();  
  5. bool match = Regex.IsMatch(emailInput, emailPattern);  
  6. if (match)  
  7. Console.WriteLine("E-mail address is valid.");  
  8. else  
  9. Console.WriteLine("Supplied input is not a valid e-mail address."); 

如果你搞不清楚這個正則表達式,別擔心。電子郵件模式的基本思想是,它需要一些數字字母字符,后面跟著一個@符號,然后是一些字符組合,再后面跟著一個".",再往后至少跟著兩個字符。你可以以不同的輸入試驗前面的代碼來看一下你得到什么結果。即使你不理解該正則表達式本身,只要知道它們的存在,那么你就可以把它使用于你的應用程序中來校驗輸入。

正則表達式的其它常見的用法是,根據表達式分析文本以及使用之來從用戶輸入中提取數據(稱作組匹配)。

正則表達式中包括一個特征叫組。一個組允許你把一個命名標識放到該正則表達式的一個特定節中。當你調用Match()來針對模式比較輸入數據時,其結果實際上把匹配分成一些組,允許你提取匹配每一個組的輸入的部分。

例如,在前面的例子中,我們創建了一個username,它允許我們提取在一個電子郵件地址中位于@符號前的所有數據。然后,當執行一個匹配時,我們能夠使用正則表達式的命名組從輸入中提取該username。

下列代碼顯示怎樣從一個用戶在控制臺輸入的URL中提取協議名字和端口號。正則表達式的偉大在于,它們使用自己的語言;因此,它們不必依賴于C、C++、C#、VB.NET或任何其它語言。在下列代碼中的正則表達式來自于一個MSDN例子:

  1. string urlPattern = @"^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/";  
  2. Console.WriteLine();  
  3. Console.Write("Enter a URL for data parsing: ");  
  4. string url = Console.ReadLine();  
  5. Regex urlExpression = new Regex(urlPattern, RegexOptions.Compiled);  
  6. Match urlMatch = urlExpression.Match(url);  
  7. Console.WriteLine("The Protocol you entered was " + urlMatch.Groups["proto"].Value);  
  8. Console.WriteLine("The Port Number you entered was " + urlMatch.Groups["port"].Value); 

當你使用不帶有一個端口號的URL運行前面的代碼時,你會注意到,你沒有得到任何組值。這是因為,該輸入根本不匹配正則表達式。當不存在匹配時,你顯然無法從給定的組中提取有意義的數據。當你使用匹配該正則表達式的端口號的URL運行前面的代碼時,你將得到如下列文本所示的輸出結果:

  1. Entera URL for data parsing: http://server.com:2100/home.aspx  
  2. The Protocol you entered was http  
  3. The Port Number you entered was :2100 

在本文中,你已看到現在你有了自己的字符串例程庫。借助于C#和.NET框架,字符串成為該基類庫的一個本機組成部分,并且提供給你大量的工具方法用于實現字符串的比較,操作,格式化等操作。你還看到,StringBuilder類向你提供了一組易于使用的工具方法以便動態地構建字符串而不會帶來本地字符串連接的性能損失。

【編輯推薦】

  1. C#字符串操作步驟
  2. C#集成開發環境淺析
  3. Visual C# .NET應用程序
  4. C# TimeLabel控件詳解
  5. C#復合控件開發技術
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-17 13:56:28

C#正則表達式入門

2009-08-07 15:16:10

C#正則表達式

2009-08-03 17:27:14

C#正則表達式

2009-08-11 13:00:41

C#正則表達式

2009-08-13 15:24:27

C#正則表達式

2024-12-16 07:33:45

C#正則表達式

2009-08-13 15:02:52

C#正則表達式引擎貪婪

2009-08-14 15:50:45

C#正則表達式

2009-08-14 17:52:30

C#表達式工具

2009-08-20 15:02:41

C#正則表達式

2009-08-20 15:10:33

C#正則表達式

2021-03-02 07:33:13

開發C#字符

2009-08-20 15:06:51

C#正則表達式

2009-08-20 14:57:00

C#正則表達式

2009-08-20 16:23:32

C#正則表達式語法

2009-08-27 15:45:30

C#正則表達式

2009-08-20 14:43:03

C#正則表達式Rege

2011-04-25 08:44:34

C#正則表達式

2009-08-20 13:09:28

C#正則表達式

2011-07-06 11:04:42

C#正則表達式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩亚洲欧美 | 成人伊人网 | 午夜小视频在线播放 | 欧美日韩手机在线观看 | 国产精品成人一区二区 | 精品视频在线一区 | 日本精品久久久久 | 午夜影院| 日韩中文字幕在线视频观看 | 日日摸天天添天天添破 | 一级在线 | 精区3d动漫一品二品精区 | 日韩精品免费视频 | 欧美二区三区 | 久久久久国产一区二区三区 | 婷婷毛片| 国产精品18久久久久久久 | 久久综合狠狠综合久久综合88 | 日韩区 | 中文字幕1区2区 | 亚洲精品中文字幕在线观看 | 久久一本 | 国色天香综合网 | 国产精品久久久久久久久久免费看 | 国产一区二区在线免费观看 | 亚洲黄色一区二区三区 | 男女羞羞视频大全 | 成人一区二区三区 | 亚洲视频在线看 | 国产欧美在线视频 | 福利社午夜影院 | 久久久91精品国产一区二区精品 | 在线视频亚洲 | 91视频一区二区三区 | 精品国产一区二区三区久久久蜜月 | 久久99精品久久久久久秒播九色 | 国产精品无码专区在线观看 | 国产高清一区二区 | 久久久久久久国产 | re久久| 日韩成人影院在线观看 |