灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4083回复:0

vb中使用正则表达式

楼主#
更多 发布于:2011-12-14 00:35
步示例
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 匹配项。

喜欢0 评分0
游客

返回顶部