Borland Builder 6.0的正则表达式库

4
有人在BCB6中使用Boost进行正则表达式处理吗,或者您能推荐其他任何解决方案吗?我已经下载了最新的Boost ZIP文件几次,但是我还不能解压缩它(我的电脑可能现在不是最佳状态)。这是一个相当庞大的库,所以如果有其他更小的只处理正则表达式的库可以很好地与BCB6配合使用,我希望首先尝试一下。我也尝试过http://www.regular-expressions.info/delphi.html,但它没有任何关于BCB支持的信息(只有Delphi),而且似乎提供的OBJ文件中有一些问题与BCB兼容(也没有源代码来重建那些)。 编辑:在CBuilder6 \下搜索源代码和包含文件夹后,我发现Builder确实内置支持正则表达式。因此,另一个问题是,它们是否有效,以及哪个功能/对象集应该用于基于VCL的应用程序?我找到了TRegexp(但没有文档),还在CRTL帮助文件中找到了一些PCRE函数(但如果所有内容都差不多,我宁愿使用更高级别或C ++)。
1个回答

4
TPerlRegex类(链接位于您上面发布的链接中)在C++ Builder中表现良好。请参阅页面中间左右部分有关旧版Delphi的部分。最重要的是,它们是免费的,并带有完整的Delphi源代码,也可以在Builder中编译。
这些组件/类基于PCRE,实际上包括用于编译时使用的.obj文件的C源代码,以不需要DLL的方式进行编译,但您也可以通过编译以需求DLL并将DLL与您的应用程序一起分发来使用它。
该网站的相关应用程序RegexBuddy可以为正则表达式生成严格的基于C的代码,也可以生成Delphi代码(或者C++ Builder XE,后者可以很容易地与Builder 6一起使用,只要记得Builder XE是基于Unicode的,而Builder 6不是)。 (我与RegexBuddy无任何关联;自从版本1发布以来,我就一直是用户。)
这是RegexBuddy 3 C(PCRE)支持的示例:

RegexBuddy 3 screen cap


@STATUS_ACCESS_DENIED: RegexBuddy3;如果您在底部的“使用”选项卡中选择“C”作为其中之一,那么就可以使用它。我将编辑我的问题以包括一个快速的屏幕截图。 - Ken White
很好,我现在也能看到它了 :) ... 感谢你的提示。 - 0xC0000022L
现在有大约两打的语言选择;我只展示了C。C#、VB.Net、Java、JavaScript、Perl、PHP、Oracle和PowerShell是其他一些选择。 :) 这是一个相当不错的增强功能。 - Ken White
我下载了TPerlRegEx.zip,但readme文件中说它包含pcrelib.dll,但我的并没有。我尝试将PCRE_LINKDLL添加到我的定义中,并在项目中包括pas文件进行编译,但仍然遇到了很多编译错误。我会尝试逐一解决它们并汇报... - eselk
我通过修改pcre.pas顶部来定义PCRE_LINKDLL而不是包含在我的全局定义中,摆脱了编译器错误,因此现在我只需要找到与此库兼容的pcrelib.dll(7.9 Unicode C调用约定)。 - eselk
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接