小編給大家分享一下VB.NET正則表達式如何簡化程序代碼,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
十載的東平網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整東平建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“東平網(wǎng)站設計”,“東平網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1、VB.NET正則表達式處理類
在VB.NET正則表達式必須先引入命名空間System.Text.RegularExpressions,該命名空間包含一下七個類:Regex、Match、MatchCollection、GroupCollection、CaptureCollection、Group、Capture。
Regex類表示不可變(只讀)正則表達式類,設置待匹配字符串的模式。Match 類表示正則表達式匹配操作的結(jié)果。MatchCollection 類表示成功的非重疊匹配的序列,即匹配后得到的字符串集合。在正則表達式中應用最多的就是這三個類。
使用正則表達式類的通用方法是:
首先生成一個Regex類的實例,并在傳入?yún)?shù)中輸入正則表達式的模式,然后使用Regex類的相應方法,如IsMatch(判斷是否匹配)、Match(返回匹配得到的字符串)等等。
當然也可以使用Regex類的共享方法而不實例化Regex類——IsMatch、Match等等(即上述方法的共享版本)獲得所需要的結(jié)果。這種方法適于匹配模式不固定,匹配次數(shù)不多的情況。
接下來給出一個VB.NET中正則表達式的應用。
2、時間解析程序
該程序讀取用戶輸入的時間長度字符串(如XX小時XX分鐘XX秒),把它解析,***用秒表示該時間長度(XX秒)。程序界面如下:
當用戶在文本框中輸入時間值后,點計算后就會在“結(jié)果”后面得到用秒表示的時間值。該程序首先從文本框中讀入時間值,然后分別查找其中的小時、分鐘、秒部分,在這里就使用了正則表達式對時間表達式進行解析。如小時數(shù)的正則表達式可表示為“[0-9]+小時”。“[0-9]”表示0到9間的任意數(shù)字都可以被匹配,“+”表示該字符可以出現(xiàn)一次或更多,因此“[0-9]+”即可以匹配任意長度整數(shù)(關于正則表達式的語法可以參見MSDN的相應部分),用這個字符串模式就可以查找出表達式中的小時部分。在分別匹配得到小時數(shù)、分鐘數(shù)和秒數(shù)后計算得到總的秒數(shù),并顯示在“結(jié)果”后面。
程序包括一個計算時間的正則表達式工具類TimeRegex,及Form1界面類。
TimeRegex類代碼如下:
ImportsSystem.Text.RegularExpressions PublicClassTimeRegex PrivatehourAsInteger=0 PrivateminuteAsInteger=0 PrivatesecondAsInteger=0 PrivatetotalTimeAsInteger=0 PrivateexpAsString'時間表達式 SubNew() EndSub '根據(jù)時間文本解析出其中的數(shù)字部分 PrivateFunctiongetTime(ByValtimeKindAsString)AsString DimtimeMatchAsMatch DimtimeAsString '先從中解析出包含數(shù)字和中文的部分 timeMatch=Regex.Match(exp,timeKind) IftimeMatch.Success=TrueThen time=timeMatch.Value '然后從得到的文本中解析出數(shù)字 ReturnRegex.Match(time,"[0-9]+").Value Else Return"0" EndIf EndFunction '根據(jù)傳入的表達式計算總時間 PublicFunctiongetTotalTime(ByVal_expAsString)AsInteger exp=_exp '分別計算出小時,分鐘,秒,然后得到總時間 hour=Integer.Parse(getTime("[0-9]+小時")) minute=Integer.Parse(getTime("[0-9]+分鐘")) second=Integer.Parse(getTime("[0-9]+秒")) totalTime=hour*3600+minute*60+second ReturntotalTime EndFunction EndClass Form1類代碼如下: PublicClassForm1 InheritsSystem.Windows.Forms.Form PrivateregexAsNewTimeRegex Windows窗體設計器生成代碼省略 PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click SecondTime.Text=regex.getTotalTime (timeExp.Text).ToString&"秒" EndSub EndClass
以上是“VB.NET正則表達式如何簡化程序代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當前題目:VB.NET正則表達式如何簡化程序代碼
文章地址:http://jinyejixie.com/article8/ijcjip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、網(wǎng)站制作、網(wǎng)頁設計公司、、定制開發(fā)、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)