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. 示例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. 示例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. 示例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

猿狮妹
2023-03-17
VB Net 正则表达式 在线教程
热门教程
1 VB.Net教程 VB.Net是Microsoft开发的一种简单的,现代的,面向对象的计算机编程语言,它将.NET Framework和公共语言运行时的强大功能与Visual Basic的优势相结合。本教程将介绍和讲解基本的VB.Net编程,并讲解各种有关VB.Net编程语言的基础、高级概念。
2 VB.Net Excel工作表 VB.Net支持Microsoft Excel 2010的COM对象模型和应用程序之间的互操作性。 要应用程序中使用这种互操作性,需要在Windows窗体应用程序中导入名称空间Microsoft
3 VB.Net程序结构 在学习VB.Net编程语言的基本构建块之前,先来看看一个最基本的VB.Net程序结构,以便可以在以后的章节中作为参考来理解程序代码块。 VB.Net Hello World示
4 VB.Net开发环境安装配置 在本章中,我们将讨论和学习可用于创建VB.Net应用程序的工具。 我们已经提到,VB.Net是.Net框架的一部分,用于编写.Net应用程序。 因此,在讨论用于运
5 VB.Net子程序(Sub) 在前面的章节中提到:子程序是不返回任何值的程序。到目前为止,在前面所有的例子中一直使用子过程Main。 在这些教程中,我们一直在编写控制台应
6 VB.Net第一个程序(Helloworld) 为了演示如何使用VS 2017创建一个简单的VB.net应用程序,这里将使用VS 2017来创建一个简单的“Hello,World”的控制台应用应用程序。这个例子将使用VB.NET
7 VB.Net数据类型 数据类型是指用于声明不同类型的变量或函数的扩展系统。变量的类型决定了它在存储器中占用多少空间以及如何解释存储的位模式。 VB.Net数据类型VB.
8 VB.Net类和对象 当定义一个类时,就定义了一个数据类型的蓝图(或模板)。这实际上并没有定义任何数据,但它确实定义了类名和含义,即该类的一个对象将包含哪些内
9 VB.Net正则表达式 正则表达式是可以与输入文本进行匹配的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符文字,运算符或构造组成。 用
10 VB.Net基本控件 对象是通过使用工具箱控件在Visual Basic 窗体上创建的一种用户界面元素。 实际上,在Visual Basic中,窗体(Form)本身就是一个对象。 每个Visual Basic 控件都
  • Copyright © 2021 猿狮院, All rights reserved.