快速入门
教程
工具和语言
示例
参考
书籍评论
Regex 工具
grep
PowerGREP
RegexBuddy
RegexMagic
通用应用程序
EditPad Lite
EditPad Pro
语言和库
Boost
Delphi
GNU (Linux)
Groovy
Java
JavaScript
.NET
PCRE (C/C++)
PCRE2 (C/C++)
Perl
PHP
POSIX
PowerShell
Python
R
Ruby
std::regex
Tcl
VBScript
Visual Basic 6
wxWidgets
XML Schema
Xojo
XQuery 和 XPath
XRegExp
数据库
MySQL
Oracle
PostgreSQL
此网站上的更多内容
简介
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
书籍评论
可打印 PDF
关于此网站
RSS 源和博客
RegexBuddy—The best regex editor and tester for VB 6 developers!

如何在 Visual Basic 中使用正则表达式

与可以访问 .NET 卓越的 正则表达式支持Visual Basic.NET 不同,老旧的 Visual Basic 6 没有附带任何正则表达式支持。然而,VB6 使得使用 ActiveX 和 COM 库提供的功能变得非常容易。

其中一个库是 Microsoft 的 VBScript 脚本库,它从 5.5 版开始具有不错的正则表达式功能。它实现了 JavaScript 中使用的正则表达式风格。此库是 Internet Explorer 5.5 及更高版本的组成部分。它可在运行 Windows XP、Vista、7、8、8.1 或 10 的所有计算机上使用,如果用户升级到 IE 5.5 或更高版本,则可在以前版本的 Windows 上使用。其中包括几乎所有用于连接到互联网的 Windows PC。

Internet Explorer 5.5 在 Web 标准方面得分不高。它的 JavaScript 正则表达式实现与其实际标准之间有相当多的差异。幸运的是,大多数都是不太可能影响你的特殊情况。在奇异模式下呈现网页时,IE 的现代版本仍然使用 IE 5.5 实现。在标准模式下,IE 的现代版本非常紧密地遵循 JavaScript 标准。即使安装了 IE 的现代版本,VBScript 正则表达式仍然使用 IE 5.5 实现。

要在 Visual Basic 应用程序中使用此库,请在 VB IDE 菜单中选择“项目 | 引用”。向下滚动列表,找到“Microsoft VBScript 正则表达式 5.5”项。它位于“Microsoft VBScript 正则表达式 1.0”项正下方。确保勾选 5.5 版本,而不是 1.0 版本。1.0 版本仅用于向后兼容。其功能并不令人满意。

添加引用后,您可以查看库提供的类和类成员。在菜单中选择“视图 | 对象浏览器”。在对象浏览器中,选择左上角下拉列表中的“VBScript_RegExp_55”库。有关详细说明,请参阅本网站上的VBScript 正则表达式参考。在教程中针对 JavaScript 正则表达式风格所说的内容也适用于 VBScript 的风格。唯一的例外是替换文本中对 \xFF 和 \uFFFF 字符转义的支持。JavaScript 在字符串字面量中支持这些字符,但 Visual Basic 不支持。

VB6 和 VBScript 之间的唯一区别在于,您需要使用 Dim 语句在创建对象之前声明对象。这是一个完整的代码片段。它是VBScript 页面上的两个代码片段放在一起,并添加了三个 Dim 语句。

'Prepare a regular expression object
Dim myRegExp As RegExp
Dim myMatches As MatchCollection
Dim myMatch As Match
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.Global = True
myRegExp.Pattern = "regex"
Set myMatches = myRegExp.Execute(subjectString)
For Each myMatch in myMatches
  MsgBox(myMatch.Value)
Next

| 快速入门 | 教程 | 工具和语言 | 示例 | 参考 | 书籍评论 |

| grep | PowerGREP | RegexBuddy | RegexMagic |

| EditPad Lite | EditPad Pro |

| Boost | Delphi | GNU (Linux) | Groovy | Java | JavaScript | .NET | PCRE (C/C++) | PCRE2 (C/C++) | Perl | PHP | POSIX | PowerShell | Python | R | Ruby | std::regex | Tcl | VBScript | Visual Basic 6 | wxWidgets | XML 模式 | Xojo | XQuery 和 XPath | XRegExp |

| MySQL | Oracle | PostgreSQL |