vb中使用正则表达式

发表于:2007-07-14来源:作者:点击数: 标签:
步示例 1. 启动 Microsoft Visual Basic 6.0。 2. 在“文件”菜单上,单击“新建项目”。 3. 在“新建项目”对话框中,单击“Standard Exe”,然后单击“确定”。 默认情况下将创建 Form1。 4. 在“项目”菜单上单击“引用”。 5. 双击“Microsoft VB Script
步示例
1. 启动 Microsoft Visual Basic 6.0。
2. 在“文件”菜单上,单击“新建项目”。
3. 在“新建项目”对话框中,单击“Standard Exe”,然后单击“确定”。

默认情况下将创建 Form1。
4. 在“项目”菜单上单击“引用”。
5. 双击“Microsoft VBScript Regular Expressions 5.5”,然后单击“确定”。
6. 在工具箱中,双击“命令按钮”。

默认情况下,“Command1”将添加到窗体中。
7. 双击“Command1”以打开代码窗口。
8. 将下面的代码粘贴到“Command1_Click”事件处理程序:MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4"))
注意 这个示例中将对照“IS1 is2 IS3 is4”字符串检查 is. 模式。您可以将句点这一特殊字符(.)用作通配符,这样,搜索模式就能够多匹配并多显示一个字符。如果您在搜索模式中添加两个句点,您会看到两个其他字符。如果您不使用任何句点,您只会看到搜索模式。
9. 将以下函数添加到“Command1_click”事件处理程序后:Function TestRegExp(myPattern As String, myString As String)
   ''Create objects.
   Dim objRegExp As RegExp
   Dim objMatch As Match
   Dim colMatches   As MatchCollection
   Dim RetStr As String

   '' Create a regular expression object.
   Set objRegExp = New RegExp

   ''Set the pattern by using the Pattern property.
   objRegExp.Pattern = myPattern

   '' Set Case Insensitivity.
   objRegExp.IgnoreCase = True

   ''Set global applicability.
   objRegExp.Global = True

   ''Test whether the String can be compared.
   If (objRegExp.Test(myString) = True) Then

   ''Get the matches.
    Set colMatches = objRegExp.Execute(myString)   '' Execute search.

    For Each objMatch In colMatches   '' Iterate Matches collection.
      RetStr = RetStr & "Match found at position "
      RetStr = RetStr & objMatch.FirstIndex & ". Match Value is ''"
      RetStr = RetStr & objMatch.Value & "''." & vbCrLf
    Next
   Else
    RetStr = "String Matching Failed"
   End If
   TestRegExp = RetStr
End Function

10. 在“运行”菜单上,单击“启动”来运行该应用程序。
11. 单击“Command1”。

此时将出现一个消息框,该消息显示 IS1 is2 IS3 is4 字符串中的所有 is 匹配项。

原文转自:http://www.ltesting.net