亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

C#使用正則表達式實例

2024-07-10 13:22:23
字體:
來源:轉載
供稿:網友
 

  正則表達式可以被看成是一個強大的通配符(通用匹配符號)。大多數人都應該很熟悉通配符,例如,當我們看到一個諸如“SAMS”的表達式,那么一個文本串中任何以SAMS開頭的字符串都可以與這個表達式匹配。正則表達式提供了比這種通配符能力更強、控制規則更復雜、功能更完善的匹配機制。

  本文將對.NET框架提供的支持正則表達式的類做一個概要介紹。要想獲得有關正則表達式的更多知識,可參考《Regular Expression Pocket Reference 》(O'Reilly Media出版社,ISBN:059600415X)或《Mastering Regular Expressions》,2nd Edition (O'Reilly Media出版社,ISBN:0596002890)等書籍。它們可以教會你如何創建正則表達式,并提供了最常用的正則表達式列表。

  輸入確認

  正則表達式最重要的用途之一,是確認某個輸入的文本是否符合一個預定義的格式。例如,一個能夠作為密碼的字符串通常要遵循某些強制的規則,以使得密碼字符串難以被破解。這些規則常常被定義為正則表達式。正則表達式也常常用來對一些簡單的輸入執行確認,如確認email地址和電話號碼。

  RegEx類是.NET框架中一個處理正則表達式的關鍵類。RegEx類包含了一個名為IsMatch的靜態方法,它返回一個布爾值,這個布爾值說明指定的輸入串是否與一個給定的正則表達式匹配。

  下面的代碼中,用到了一個常用的正則表達式,用來測試一個email地址是否有效:

string emailPattern =
@"^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)||[ccc]
(([/w-]+/.)+))([a-zA-Z]{2,4}||[0-9]{1,3})(/]?)$";

Console.Write("Enter an e-mail address:");
string emailInput = Console.ReadLine();
bool match = Regex.IsMatch(emailInput, emailPattern);
if (match)
 Console.WriteLine("E-mail address is valid.");
else
 Console.WriteLine("Supplied input is not a valid e-mail address."); 

  不要擔心上面的正則表達式是否有意義。電子郵件模式背后隱藏的基本思想是,它必須包含一些字符,然后是一個@標記,接著是跟在“.”之后的一些字符組合,“.”之后至少要有兩個字符。你可以試著在上面的程序段中使用不同的文本作為輸入,并觀察程序執行的結果。即使你不理解正則表達式本身的含義,也沒有關系。只要知道存在正則表達式這樣一種工具,并且它可以用來對輸入進行確認,這對于你編寫應用程序將是極有幫助的。

  從輸入中抽取數據

  正則表達式另一個常見用途是用來分析文本,并從用戶的輸入中抽取數據(稱為組匹配)。

  C#中的正則表達式包含了一個稱為組(group)的獨特特征。使用組,可以為正則表達式中特定的段賦予一個標識符名稱。當調用match() 方法對模式和輸入數據進行比較時,比較的結果實際上是按照組拆分被匹配的符號串,這樣就允許你從輸入中抽取與每個組相匹配的部分。

  例如,我們可以在前一個例子中創建一個名為username的組,用它從一個email地址中提取所有位于@之前的符號串。這樣,在執行匹配時,就可以應用正則表達式中的命名組來抽取用戶名信息。

  看看下面的代碼示例,它說明如何從用戶在控制臺輸出的URL地址中同時抽取協議名和端口號。正則表達式的一個良好特性是它自身構成了一個語言,這個語言與C、C++、C#或任何其他編程語言沒有依賴關系。這使得我們可以容易地從互聯網或參考文獻的應用案例中借用某些常用的正則表達式。例如,下面例程中的正則表達式借用自MSDN中的一個例子:

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

  運行上面的例程時,如果為它輸入一個沒有端口號的URL,你將會注意到程序不輸入任何組的匹配值。這是因為輸入的文本與正則表達式根本不匹配。當輸入與正則表達式不匹配時,顯然就不能夠利用任何命名的組來抽取有意義的數據。如果為上面的例程輸入一個帶端口號并且與正則表達式匹配的URL,程序產生的輸出將如下所示:

Enter a URL for data parsing: :2100/home.aspx
The Protocol you entered was http
The Port Number you entered was :2100
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品av| 成人黄色av网站| 欧美主播福利视频| 91免费福利视频| 国产精品69久久| 亚洲日韩中文字幕| 亚洲理论电影网| 国产精品www网站| 欧美激情喷水视频| 亚洲视频在线观看网站| 性色av一区二区三区| 久久免费少妇高潮久久精品99| 亚洲精品久久7777777| 中文字幕免费精品一区高清| 日韩中文字幕精品| 中文字幕精品影院| 日韩国产精品亚洲а∨天堂免| 亚洲天堂av高清| 欧美与黑人午夜性猛交久久久| 欧美激情一区二区三区成人| 国产综合久久久久| 在线观看国产欧美| 国产成人精品999| 亚洲bt欧美bt日本bt| 一区二区三区天堂av| 97视频在线观看视频免费视频| 国产97在线播放| 亚洲在线第一页| 国产精品白丝jk喷水视频一区| 色综合天天狠天天透天天伊人| 久久久在线视频| 性金发美女69hd大尺寸| 欧美成人精品在线播放| 国产aⅴ夜夜欢一区二区三区| 亚洲电影中文字幕| 精品成人久久av| 欧美在线视频免费| 国产日本欧美视频| 国产一区二区欧美日韩| 8x拔播拔播x8国产精品| xxxxx成人.com| 国产精品久久久久久久久| 亚洲深夜福利在线| 九九热最新视频//这里只有精品| 欧美精品在线免费观看| 久久久97精品| 色偷偷噜噜噜亚洲男人| 欧美日韩亚洲天堂| 国内精品免费午夜毛片| 欧美风情在线观看| 亚洲色图50p| 懂色av中文一区二区三区天美| 欧美色视频日本高清在线观看| 欧美激情第一页xxx| 91精品国产九九九久久久亚洲| 国产剧情久久久久久| 久久精品国产2020观看福利| 91高清视频免费| 国产suv精品一区二区| 日韩视频免费在线观看| 国产精品揄拍一区二区| 国产成人在线一区二区| 中文字幕最新精品| 亚洲成人免费在线视频| 久久久久久久色| 亚洲精品一区久久久久久| 日韩欧美国产免费播放| 色综合久久精品亚洲国产| 国产精品美女久久| 久久国产天堂福利天堂| 亚洲最大在线视频| 国产精品第2页| 懂色aⅴ精品一区二区三区蜜月| 日韩高清中文字幕| 欧美激情视频网址| 国产精品日韩在线播放| 亚洲高清一区二| 欧美成人黄色小视频| 日韩电影免费观看在线观看| 国产欧美精品一区二区三区-老狼| 亚洲精品第一国产综合精品| 亚洲国产97在线精品一区| 日韩成人av网址| 亚洲国产女人aaa毛片在线| 国产丝袜一区二区三区免费视频| 8050国产精品久久久久久| 九九精品视频在线| 亚洲女性裸体视频| 最近2019中文字幕第三页视频| 中文字幕日韩电影| 海角国产乱辈乱精品视频| 成人免费大片黄在线播放| 日本aⅴ大伊香蕉精品视频| 91黑丝在线观看| 欧美影院在线播放| 日韩在线免费视频观看| 日韩精品在线影院| 国产精品久久久久久久久免费| 亚洲在线免费视频| 亚洲美女精品久久| 国产免费亚洲高清| 日韩黄在线观看| 午夜精品久久久99热福利| 欧美又大又硬又粗bbbbb| 久久精品国产欧美激情| 亚洲成av人影院在线观看| 国产精品成人品| 欧美福利小视频| 久久99精品久久久久久青青91| 色中色综合影院手机版在线观看| 精品视频在线播放免| 91精品一区二区| 欧美激情亚洲视频| 久久精品国产亚洲一区二区| 自拍偷拍免费精品| 美女国内精品自产拍在线播放| 国内精品一区二区三区四区| 亚洲国产成人久久综合| 亚洲一区亚洲二区亚洲三区| 国产精品老牛影院在线观看| 国产精品爱久久久久久久| 欧美激情a∨在线视频播放| 视频在线一区二区| 综合欧美国产视频二区| 国产精品高潮呻吟久久av无限| 亚洲欧美国产日韩中文字幕| 欧美日本高清视频| 国内精品小视频在线观看| 亚洲一区二区三区四区在线播放| 欧美电影免费观看电视剧大全| 欧美xxxx做受欧美.88| 亚洲欧美成人精品| 久久久国产精品视频| 色狠狠av一区二区三区香蕉蜜桃| 国产精品mp4| 欧美在线视频观看免费网站| 欧美精品999| 精品日韩视频在线观看| 久久久久久久一| 亚洲欧美一区二区三区久久| 日韩视频在线观看免费| 亚洲图片制服诱惑| 久久天天躁狠狠躁夜夜爽蜜月| 久久精品最新地址| 欧美孕妇性xx| 免费97视频在线精品国自产拍| 亚洲国产精品嫩草影院久久| 久久夜色精品国产亚洲aⅴ| 国产精品视频免费在线| 91亚洲精华国产精华| 91精品国产色综合| 福利精品视频在线| 欧美激情免费观看| 欧美日韩高清区| 亚洲成人性视频| 亚洲第一精品夜夜躁人人爽| 色香阁99久久精品久久久| 91国产在线精品| www.久久色.com| 亚洲精品国产拍免费91在线| 欧美精品18videos性欧| 欧美视频13p| 亚洲欧美在线免费| 中文字幕日韩在线播放|