正则表达式是一种可以与输入文本匹配的模式. .Net框架提供了允许这种匹配的正则表达式引擎.模式由一个或多个字符文字,运算符或构造组成.
有各种类型的字符,运算符,以及允许您定义正则表达式的结构.单击以下链接以查找这些构造.
字符转义
字符类
Anchors
分组构造
Quantifiers
Ba ckreference构造
交替构造
替换
其他构造
Regex类用于表示正则表达式.
Regex类具有以下常用方法 :
Sr.No. | 方法&描述 |
---|---|
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文档.
以下示例匹配以'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
以下示例匹配以 '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
此示例替换了额外的空格:
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