 
- VB.Net基础教程
- VB.Net - 主页
- VB.Net - 概述
- VB.Net - 环境设置
- VB.Net - 程序结构
- VB.Net - 基本语法
- VB.Net - 数据类型
- VB.Net - 变量
- VB.Net - 常量
- VB.Net - 修饰符
- VB.Net - 语句
- VB.Net - 指令
- VB.Net - 运算符
- VB.Net - 决策
- VB.Net - 循环
- VB.Net - 字符串
- VB.Net - 日期和时间
- VB.Net - 数组
- VB.Net - 集合
- VB.Net - 函数
- VB.Net - 订阅者
- VB.Net - 类和对象
- VB.Net - 异常处理
- VB.Net - 文件处理
- VB.Net - 基本控件
- VB.Net - 对话框
- VB.Net - 高级表单
- VB.Net - 事件处理
- VB.Net 高级教程
- VB.Net - 正则表达式
- VB.Net - 数据库访问
- VB.Net - Excel 工作表
- VB.Net - 发送电子邮件
- VB.Net - XML 处理
- VB.Net - 网页编程
- VB.Net 有用资源
- VB.Net - 快速指南
- VB.Net - 有用的资源
- VB.Net - 讨论
VB.Net - 正则表达式
正则表达式是可以与输入文本进行匹配的模式。.Net 框架提供了允许此类匹配的正则表达式引擎。模式由一个或多个字符文字、运算符或结构组成。
用于定义正则表达式的构造
有多种类别的字符、运算符和结构可让您定义正则表达式。单击以下链接查找这些构造。
正则表达式类
Regex 类用于表示正则表达式。
Regex 类具有以下常用方法 -
| 先生。 | 方法与说明 | 
|---|---|
| 1 | 公共函数 IsMatch (输入为字符串)作为布尔值 指示 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项。 | 
| 2 | 公共函数 IsMatch (输入为字符串,startat 为整数)作为布尔值 指示 Regex 构造函数中指定的正则表达式是否在指定输入字符串中从字符串中指定的起始位置开始找到匹配项。 | 
| 3 | 公共共享函数 IsMatch (输入为字符串,模式为字符串) As Boolean 指示指定的正则表达式是否在指定的输入字符串中找到匹配项。 | 
| 4 | 公共函数匹配(输入为字符串)作为 MatchCollection 在指定的输入字符串中搜索所有出现的正则表达式。 | 
| 5 | 公共函数替换(输入为字符串,替换为字符串)作为字符串 在指定的输入字符串中,将与正则表达式模式匹配的所有字符串替换为指定的替换字符串。 | 
| 6 | 公共函数 Split (输入为字符串) As String() 将输入字符串拆分为子字符串数组,其位置由 Regex 构造函数中指定的正则表达式模式定义。 | 
有关方法和属性的完整列表,请参阅 Microsoft 文档。
实施例1
以下示例匹配以 'S' 开头的单词 -
Imports System.Text.RegularExpressions
Module regexProg
   Sub showMatch(ByVal text As String, ByVal expr As String)
      Console.WriteLine("The Expression: " + expr)
      Dim mc As MatchCollection = Regex.Matches(text, expr)
      Dim m As Match
      
      For Each m In mc
         Console.WriteLine(m)
      Next m
   End Sub
   
   Sub Main()
      Dim str As String = "A Thousand Splendid Suns"
      Console.WriteLine("Matching words that start with 'S': ")
      showMatch(str, "\bS\S*")
      Console.ReadKey()
   End Sub
End Module
当上面的代码被编译并执行时,它会产生以下结果 -
Matching words that start with 'S': The Expression: \bS\S* Splendid Suns
实施例2
以下示例匹配以“m”开头并以“e”结尾的单词 -
Imports System.Text.RegularExpressions
Module regexProg
   Sub showMatch(ByVal text As String, ByVal expr As String)
      Console.WriteLine("The Expression: " + expr)
      Dim mc As MatchCollection = Regex.Matches(text, expr)
      Dim m As Match
      
      For Each m In mc
         Console.WriteLine(m)
      Next m
   End Sub
   
   Sub Main()
      Dim str As String = "make a maze and manage to measure it"
      Console.WriteLine("Matching words that start with 'm' and ends with 'e': ")
      showMatch(str, "\bm\S*e\b")
      Console.ReadKey()
   End Sub
End Module
当上面的代码被编译并执行时,它会产生以下结果 -
Matching words start with 'm' and ends with 'e': The Expression: \bm\S*e\b make maze manage measure
实施例3
此示例替换了额外的空白 -
Imports System.Text.RegularExpressions
Module regexProg
   Sub Main()
      Dim input As String = "Hello    World   "
      Dim pattern As String = "\\s+"
      Dim replacement As String = " "
      Dim rgx As Regex = New Regex(pattern)
      Dim result As String = rgx.Replace(input, replacement)
      
      Console.WriteLine("Original String: {0}", input)
      Console.WriteLine("Replacement String: {0}", result)
      Console.ReadKey()
   End Sub
End Module
当上面的代码被编译并执行时,它会产生以下结果 -
Original String: Hello World Replacement String: Hello World