delphi正则表达式揭密,TPerlRexEx,DIRegRx,TRegExpr,M$ RegExp

delphi没有内置正则模块所以我们在delphi中使用正则只能借助三方组件了

 

因为一个产品中需要频繁使用正则替换所以写了一个测试程序,用来比较到底哪种正组件效率最高

 

相信很多人都知道TPerlRegEx吧?他是免费开源的

 

这个组件使用的人比较多,然而这个组件却是速度最慢,效率最差的一个

 

可能是在d2009中的性能比较差吧,别的版本没有试过

 

TPerlRegEx的一些用法可以看看这里http://www.cnblogs.com/del/archive/2007/12/21/1009482.html

 

 

另外一个组件是TRegExpr这个组件总体来说速度还算可以,功能还算比较全,推荐使用,也是免费开源的

 

 

而也有一些人使用的是Ms 的RegExp组件,但这个组件需要在delphi注册控件,而且在程序里一直会使用别人的dll感觉很别扭,不过总体来说ms的正则组件性能是相对高的了,但他功能也不是很全,比如他不支持根据匹配结果的条件替换,如果你对软件的性能要求高又不想花钱,那么建议你使用他

 

 

另外一个就是商业软件了,他的性能与功能都是没得说的,从各方面测试他都是最高效的

 

我写的测试程序中因为使用了回调机制的Replace所以看上去他没有ms的regexp速度快,但如果也使用Replace全部的话那速度会比ms的regexp快那么一点

 

另外因为篇幅有限就直接给大家下载源码了

 

 

TPerlRegEx:

http://www.regular-expressions.info/download/TPerlRegEx.zip

 

TRegExpr:

http://regexpstudio.com/TRegExpr/TRegExpr.html

 

DIRegEx:

http://www.yunqa.de/delphi/doku.php/products/regex/index?DokuWiki=564g8fvcqg5lkso0fbcncv86c1

 

 

测试源码:

http://www.17benteng.com/soft/delphi_RegEx_Test.rar

 

注意:些测试中的TRegExpr是我修改过的,不过不影响正常使用

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值