YuPcre
YuPcre(全称 YuPCRE2)是一个 Delphi 库,提供组件和过程实现 Perl 兼容的正则表达式(Regular Expression)模式匹配,使用与 Perl 相同的语法和语义,仅有少量差异。它基于 PCRE2(Perl Compatible Regular Expressions 2)引擎,支持 Delphi 开发环境,适用于文本处理、数据验证和模式搜索等场景。
主要特点
算法支持:提供两种匹配算法——标准 Perl 算法(类似于 Perl 和 JavaScript)和 DFA(Deterministic Finite Automaton)算法,后者更高效且无回溯限制。
核心功能:
匹配与替换:如 Match、Replace(类似于 Delphi 的 StringReplace,但更灵活,支持捕获组)。
提取与收集:List 函数可一次性提取多个匹配项(如电话号码、邮箱或 URL)。
组件集成:包含正则表达式掩码编辑器 TDIRegEx2MaskEdit 和组合框 TDIRegEx2ComboBox,支持实时验证输入。
性能优化:支持 Unicode、多字节字符串和编译时优化;1.6.0 版本重构了匹配器,避免递归调用,提高栈安全性。
平台兼容:支持 Delphi 7 至 XE10.2(Win32/Win64),后续版本可能扩展至更高 Delphi(如 10.3+)。
开源与免费:由开发者 Yuri Artyukh 维护,免费分发(非商业开源),包含示例和演示应用。
优势:比 Delphi 内置的 TStringHelper.Regex 方法更强大,提供更多 Perl-like 功能,适合复杂模式匹配。
#### 安装与使用
1. 从 Delphi 第三方库站点下载 YuPcre2 ZIP 文件(约 4.5 MB)。
2. 解压到 Delphi 组件路径(如 C:\Program Files (x86)\Embarcadero\Studio\xx.0\lib)。
3. 在 Delphi IDE 中安装包(Project > Install Packages),编译后在调色板中出现 YuPcre2 组件。
4. 示例代码:
uses YuPCRE2;
var
Regex: TDIRegEx2;
Matches: TDIRegEx2StringArray;
begin
Regex := TDIRegEx2.Create('(\w+)@(\w+)\.com');
if Regex.Match('email@example.com', Matches) then
ShowMessage(Format('User: %s, Domain: %s', [Matches[1], Matches[2]]));
Regex.Free;
end;如需 DFA 模式,设置
Regex.MatchOptions := [moDfa];。 YuPcre 是 Delphi 正则处理的有力工具,尤其适合迁移 Perl 脚本或处理大量文本数据。




还没有评论,来说两句吧...