快速入门
教程
工具和语言
示例
参考
图书评论
图书评论
正则表达式食谱
自学正则表达式
精通正则表达式
Java 正则表达式
Oracle 正则表达式
正则表达式袖珍参考
正则表达式食谱
适用于 Windows 的正则表达式食谱
更多内容
简介
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
图书评论
可打印 PDF
关于本网站
RSS Feed 和博客
RegexBuddy—The best regex editor and tester for Java developers!

Mehran Habibi 著《Java 正则表达式》(Apress)

《Java 正则表达式》一书由 250 页宽间距文本组成,分为 5 章。第一章是对正则表达式的介绍,解释了基本正则表达式语法。本书的节奏比本网站上的教程慢。它没有解释许多“陷阱”或正则表达式风格之间的差异。显然,本书针对的是对正则表达式相对陌生且仅计划将它们与 Java 一起使用的人。

第二章是本书最有用的部分。它描述了 java.util.regex 包中的所有类,以及它们几乎所有方法。大多数描述都附有说明其用法的 Java 源代码示例。如果你更喜欢通过阅读 Java 源代码而不是英语来学习,你将欣赏这些代码片段。

第三章解释了高级正则表达式语法,例如 惰性独占 量词(书中称为“限定符”),以及 环视。遗憾的是,从这里开始,本书的质量开始下降。使用 交替 (I|i)ce 而不是更高效的 字符类 [Ii]ce(第 104 页)或指出 \d 表示替换文本中的数字(第 107 页;\d 仅适用于正则表达式,不适用于替换)等小错误可能是由于编辑粗心造成的。但是,旨在解释正向先行断言(第 130 页)的示例是错误的。(?=^255).* 正则表达式执行的操作与 ^255.* 执行的操作完全相同。先行断言的关键方面(它不会消耗它匹配的文本)在此示例中完全无关紧要。

第四章完全可以从本书中省略。它讨论了面向对象编程技术,而不是正则表达式。一些建议值得商榷。作者建议将正则表达式存储在外部文件中,以便在不重新编译应用程序的情况下对其进行编辑。此建议的问题在于,正则表达式随后将毫无上下文地保存在外部文件中,这使得它们更难理解。这与本书的关键卖点相矛盾:大多数概念都是通过 Java 代码中使用的正则表达式来解释的。如果其他程序员以后必须维护代码,更好的办法是使用 RegexBuddy 等工具,将详细的英文描述作为 Java 注释插入到 Java 源代码中(RegexBuddy 在 使用选项卡 中生成它们)。

第五章为您提供了更多精心设计的示例,使用 Java 中的正则表达式执行许多实际任务。虽然这些示例相对简单,但它们确实很好地将所有内容结合在一起。

您应该购买本书吗?虽然它肯定不完美,但我向对 Java 有经验但对正则表达式几乎没有经验的 Java 开发人员推荐本书。本书对 java.util.regex 包的描述比 JDK 附带的文档详细得多。但是,要深入了解正则表达式语法本身,您需要使用其他资源(例如本网站上的 教程)来补充本书。