Regex 工具 |
grep |
语言和函数库 |
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 |
本网站的更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式范例 |
正则表达式参考 |
替换字符串参考 |
如何在 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 电脑。
Internet Explorer 5.5 在网络标准方面并未获得很高的分数。它的 JavaScript 正则表达式实作与实际标准之间存在不少差异。幸运的是,大多数都是不太可能影响您的特殊情况。IE 的现代版本在奇异模式中呈现网页时,仍会使用 IE 5.5 实作。在标准模式中,IE 的现代版本会非常严格地遵循 JavaScript 标准。即使已安装 IE 的现代版本,VBScript 正则表达式仍会使用 IE 5.5 实作。
要在 Visual Basic 应用程序中使用此函数库,请在 VB IDE 的功能表中选择 [项目|参照]。向下卷动清单,找到项目「Microsoft VBScript Regular Expressions 5.5」。它位于「Microsoft VBScript Regular Expressions 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