快速业务通道

构建用于正则表达式的抽象Java API - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

构建用于正则表达式的抽象Java API(6)

时间:2010-12-24 Jose San Leandro Arm

基准

该 API 较显著的用法之一是用来比较实现、测量性能、对 Perl5 语法的兼 容性或其它标准之间的差异。

为这些测试开发的基准实用程序使用 HTML 解析器来处理 Web 内容,更新有 关链接、表单和表等元素的信息。但是,重要的是解析逻辑用正则表达式来表示 ,因此会通过 RegexpPlugin API 实现。

基准测试包括对非常简单的 HTML 页面解析 10000 次。结果在下表中显示。

Regexp 库 Benchmark 结果(秒)
Jakarta Oro 2.0.6 130,71
Jakarta Regexp 1.2 23,261
GNU Regexp 1.1.4 1,966.939
JDK1.4 33,222

您可以用多种方法在实际应用程序中改进性能。最重要的是,当您使用 regexp 库时,不需要每次都编译模式,而是编译它们并重用各自的实例。但是 ,如果 regexp 本身不固定,则不能忽略编译过程。

因为基准需要在实现之间切换以比较性能,所以必须始终废弃已编译模式以 避免库之间的交互。但是,正如您所见,大多数已评估的库有相似的响应时间, 尽管更详细的基准能让我们更好的理解每个库在不同环境下的行为。

结束语

正则表达式解析器有强大的功能。一旦团队适应了它,解析逻辑就会改进, 这有助于降低维护。但是,开发人员需要了解 regexp 语法以理解这些代码是如 何工作的。本文已经用一个非常简单的示例说明了如何使用这些库中的一个。除 此之外,本文还描述了使用附加层去除客户机代码与 regexp 引擎本身之间的耦 合的好处。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号