为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

正则表达式在VB.NET中的应用

2013-01-15 3页 pdf 100KB 17阅读

用户头像

is_622030

暂无简介

举报
正则表达式在VB.NET中的应用 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 正则表达式在 VB.NET 中的应用 该文档由国内顶级 IT 视频教育平台浪曦网整理发布 在通常的程序设计中,对字符串的操作是不可缺少的部分。例如,我们经常需要从字符串中 寻找特定的部分,或者对某一部分进行替换、删除等等。使用传统的静态字符串操作方法只 能查找字符串中固定不变的部分,缺乏灵活性。而用正则表达式则可以规定待查找字符串的 模式,查找同一类型的字符...
正则表达式在VB.NET中的应用
浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 正则达式在 VB.NET 中的应用 该文档由国内顶级 IT 视频教育平台浪曦网整理发布 在通常的程序设计中,对字符串的操作是不可缺少的部分。例如,我们经常需要从字符串中 寻找特定的部分,或者对某一部分进行替换、删除等等。使用传统的静态字符串操作方法只 能查找字符串中固定不变的部分,缺乏灵活性。而用正则表达式则可以规定待查找字符串的 模式,查找同一类型的字符串,例如要在 email)中分解出用户名和服务器名,可以定义如 下的正则表达式(?[^@]+)@(?.+)组和host组里存储用户名lzcarl组里存放服 务器名126.com2、 在 vb.net,该命名空间包含一下七个类:regex、matchcollection、capturecollection、 captureregex 类表示正则表达式匹配操作的结果。matchcollection 首先生成一个 Regex 类的实例,并在传入参数中输入正则表达式的模式,然后使用 Regex 类的相应方法,如 IsMatch(判断是否 匹配)、match 类的共享方法而不实例化 regex、match 中正则表达式的应用。 3、时间解析程序 该程序读取用户输入的时间长度字符串(如 xx 分钟 xx 秒)。程序界面如下: 当用户在文本框中输入时间值后,点计算后就会在“结果”后面得到用秒表示的时间值。 该程序首先从文本框中读入时间值,然后分别查找其中的小时、分钟、秒部分,在这里就使 用了正则表达式对时间表达式进行解析。如小时数的正则表达式可表示为“[0-9]+小时”。 “[0-9]”表示0到9间的任意数字都可以被匹配,“+”表示该字符可以出现一次或更多,因 此“[0-9]+”即可以匹配任意长度整数(关于正则表达式的语法可以参见 msdn 的相应部 分),用这个字符串模式就可以查找出表达式中的小时部分。在分别匹配得到小时数、分钟 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 数和秒数后计算得到总的秒数,并显示在“结果”后面。 程序包括一个计算时间的正则表达式工具类 timeregex 界面类。 timeregex 类代码如下: Imports System.Text.RegularExpressions Public Class TimeRegex Private hour As Integer = 0 Private minute As Integer = 0 Private second As Integer = 0 Private totalTime As Integer = 0 Private exp As String '时间表达式 Sub New() End Sub '根据时间文本解析出其中的数字部分 Private Function getTime(ByVal timeKind As String) As String Dim timeMatch As Match Dim time As String '先从中解析出包含数字和中文的部分 timeMatch = Regex.Match(exp, timeKind) If timeMatch.Success = True Then time = timeMatch.Value '然后从得到的文本中解析出数字 Return Regex.Match(time, "[0-9]+").Value Else Return "0" End If End Function '根据传入的表达式计算总时间 Public Function getTotalTime(ByVal _exp As String) As Integer 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 Return totalTime End Function End Class Form1类代码如下: Public Class Form1 Inherits System.Windows.Forms.Form Private regex As New TimeRegex Windows 窗体设计器生成代码省略 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com System.EventArgs) Handles Button1.Click SecondTime.Text = regex.getTotalTime (timeExp.Text).ToString & "秒" End Sub End Class 用户输入1分钟1秒,证明结果正确。 4、结论 合理的使用正则表达式对于简化程序代码、提高程序的复用性与健壮性有着很大的帮助。
/
本文档为【正则表达式在VB.NET中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索