VB.Net-正则表达式
.net框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符文字,运算符或构造组成。
定义正则表达式的构造
有各种类别的字符,运算符和构造,允许您定义正则表达式。单击以下链接以查找这些结构。
- 字符转义
- 字符类
- 锚
- 分组构造
- 量词
- 反向引用结构
- 交替结构
- 替换
- 杂项结构
正则表达式类
正则表达式类用于表示一个正则表达式。
正则表达式类有以下常用方法:
SN |
方法说明 |
1 |
公共函数IsMatch(输入为字符串)为布尔值 表示在正则表达式构造函数中指定的正则表达式是否发现在指定的输入字符串匹配。 |
2 |
公共函数IsMatch(以字符串形式输入,以整数形式启动)作为布尔值 指示在Regex构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项,从字符串中指定的开始位置开始。 |
3 |
公共共享函数IsMatch(输入为String,模式为String)为布尔值 指示指定的正则表达式是否在指定的输入字符串中找到匹配项。 |
4 |
公共函数匹配(作为字符串输入)作为MatchCollection 搜索指定的输入字符串以查找正则表达式的所有出现。 |
5 |
公共函数替换(输入为字符串,替换为字符串)作为字符串 在指定的输入字符串中,使用指定的替换串联替换与正则表达式模式匹配的所有字符串。 |
6 |
公共函数拆分(作为字符串输入)作为String() 将输入字符串插入到由正则表达式构造函数中指定一个正则表达式模式定义的位置的子字符串数组。 |
有关方法和属性的完整列表,请参见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, "SS*")
Console.ReadKey()
End Sub
End Module
当上述代码被编译和执行时,它产生了以下结果:
Matching words that start with 'S':
The Expression: SS*
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, "mS*e")
Console.ReadKey()
End Sub
End Module
当上述代码被编译和执行时,它产生了以下结果:
Matching words start with 'm' and ends with 'e':
The Expression: mS*e
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