- 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 - Web编程
- VB.Net 有用资源
- VB.Net - 快速指南
- VB.Net - 有用资源
- VB.Net - 讨论
VB.Net - 正则表达式
正则表达式是一种可以与输入文本匹配的模式。.Net 框架提供了一个正则表达式引擎,允许进行这种匹配。模式由一个或多个字符字面量、运算符或构造组成。
定义正则表达式的构造
有各种类型的字符、运算符和构造,允许您定义正则表达式。单击以下链接以查找这些构造。
Regex 类
Regex 类用于表示正则表达式。
Regex 类具有以下常用方法:
序号 | 方法和描述 |
---|---|
1 |
Public Function IsMatch (input As String) As Boolean 指示在 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项。 |
2 |
Public Function IsMatch (input As String, startat As Integer ) As Boolean 指示在 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项,从字符串中的指定起始位置开始。 |
3 |
Public Shared Function IsMatch (input As String, pattern As String ) As Boolean 指示指定的正则表达式是否在指定的输入字符串中找到匹配项。 |
4 |
Public Function Matches (input As String) As MatchCollection 搜索指定的输入字符串以查找正则表达式的所有匹配项。 |
5 |
Public Function Replace (input As String, replacement As String) As String 在指定的输入字符串中,将与正则表达式模式匹配的所有字符串替换为指定的替换字符串。 |
6 |
Public Function Split (input As String) 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