VCL中是否有正则表达式的库?
如果没有,你能推荐一个好的第三方图书馆。
答案 0 :(得分:8)
从Delphi XE开始,RTL包含对正则表达式的支持:
http://docwiki.embarcadero.com/RADStudio/en/VCL_and_RTL_Changes_for_XE
RegularExpressions.TRegEx是主要的 记录供用户匹配和 用正则表达式替换。该 RegularExpressions部门的成员 弥补一个非常接近的界面 MSDN接口,......
和
RegularExpressionsCore.TPerlRegEx 实现Perl兼容的常规 表达式 (http://www.regular-expressions.info/pcre.html)。
答案 1 :(得分:5)
答案 2 :(得分:5)
Jedi代码库(JCL)提供基于perl的正则表达式。 从this link下载JCL。
安装后转到安装文件夹/ source / common,你有JclPCRE.pas和pcre.pas
答案 3 :(得分:4)
请参阅TPerlRegEx(download),即使它只是PCRE的包装。
答案 4 :(得分:3)
其他人提到,没有一个“在盒子里”。但是,当我们说“我们可以在IDE / VCL中使用regexp”时,我们需要小心,因为两个不同的人要求这可能有两个非常不同的想法which regexp they want to see supported。
因此,虽然有一种regexp支持“内置”可能会很好,但你必须意识到,当人们开始交换正则表达式食谱(与其他人不使用Delphi)并且无法计算时,这会导致问题为什么一个人的有效正则表达式不是Delphi中的有效正则表达式。
那么它将是“regexp在Delphi中被破坏”或“为什么我们不能拥有XYZ regexp支持以及ABC风味支持?”
所以目前我说选择关于哪个正则表达式适合你在某种程度上是一个优势,假设你可以找到支持这种风格的Delphi组件/库。 :)
The regular-expressions.info site also has a page specifically about Delphi support for regexp
答案 5 :(得分:1)
RegEx是Delphi中没有的另一件事。也许你试试PCRE-based Components for Delphi (我自己没试过)。
答案 6 :(得分:0)
如果您打算使用Jedi代码库(JCL),您仍需要安装PCRE库。