一、类库简介
vb6/vba/vbs使用的windows内置vbscript.dll/3正则表达式,能够满足绝大部分需求,但是一些高级语法都不支持
于是5202年,借助AI我实现了原来一直想要的东西
二、类库特征
1、纯COM类库,完全兼容旧的vbscript.dll RegExp类语法
2、功能升级包括:JIT编译、部分匹配、序列化/反序列化(仅RegExp提供,RegExp2不提供)、命名捕获组、完整Unicode支持、强大的回调(支持事件和过程两种模式)
3、语法升级包括:反向引用、递归模式、注释模式、条件模式、原子组、更完善的占有量词、更完善的断言、子程序调用
4、对象模型升级:RegExp & RegExp2 对标旧的vbscript.RegExp
RegExp封装自pcre2,功能更强大,RegExp2封装自deelx
提供了Match/Match2,以及SubMatch/SubMatch2对象
提供了更多Options(OptionsCompile/OptionsMatch/OptionsReplace对象)
提供的几个Callout对象(CalloutEnum/CalloutEnumCollection/CalloutInfo/CallStats)
5、由于库很大,功能和语法都比较复杂,只能后续逐渐更新文档介绍具体使用
三、简要调用
1、需要先注册dll(免注册调用方式不在讨论方案)
2、简要调用如下:
Dim reg As loquatRegExp.RegExp
Set reg = New loquatRegExp.RegExp
reg.Global = True
reg.Pattern = "\d+"
Debug.Print reg.Execute("abc123def")(0).Value四、详细说明
| 1、语法参考 |
| 常规语法参考手册 |
| 高级语法参考手册 |
| 2、对象模型 |
| RegExp & RegExp2 & vbscript.RegExp对照 |
| 3、使用案例 |
| 命名捕获组 |
| 递归表达式 |
| 原子组 |
| 反向引用/回溯 |
| 条件表达式 |
| 断言/预查/环视 |
| 子程序引用 |
| 序列化/反序列化 |
| 贪婪量词 |
| 回调应用 |
RegExp的更多文档,参考:https://www.pcre.org/current/doc/html/
RegExp2的更多文档,参考:http://www.regexlab.com/zh/deelx/syntax.htm
五、下载地址
Copyright © 2025- vba.vip All Rights Reserved.