快速入门
教程
工具和语言
示例
参考
书评
书评
正则表达式食谱
自学正则表达式
精通正则表达式
Java 正则表达式
Oracle 正则表达式
正则表达式袖珍参考
正则表达式食谱
适用于 Windows 的正则表达式食谱
本网站的更多内容
简介
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
书评
可打印 PDF
关于本网站
RSS 提要和博客

杰弗里·弗里德尔的《精通正则表达式》

本书的前六章(283 页)讨论了正则表达式。不要指望这里会有轻松的教程。虽然你可以在没有关于该主题的先验知识的情况下阅读《精通正则表达式》,但本书实际上是为已经了解基础知识并准备充分利用正则表达式的人准备的。如果你先阅读本网站上的正则表达式教程以获得一些经验,你将从本书中获得更多收获。

本书完全没有教你如何使用正则表达式。它专注于如何高效地使用它们。期待大量有关正则表达式引擎内部工作原理的详细信息,以及如何利用这些知识。本书还比较了各种正则表达式风格及其细微差别。

不要指望任何方便的参考表或可复制粘贴的示例。本书(尤其是前六章)肯定是要从头到尾阅读(或者我应该说:学习)的。如果你需要快速修复,本书不适合你。如果你想要大量实际的真实示例,请从同一家出版商购买正则表达式食谱

本书的最后四章分别介绍了当今可能使用最广泛的四种正则表达式风格。虽然这些语言的一般编程书籍通常有一章专门介绍正则表达式,但你无法将它们与本书中的章节进行比较。其他书籍为你提供了正则表达式语法的不完整介绍(《精通正则表达式》在前 6 章中介绍了该语法),并解释了哪些函数和类可用于常见正则表达式函数。然而,《精通正则表达式》中的四种语言章节重点介绍了每种语言的缺陷和特殊功能。对于缺乏正则表达式或相关编程语言经验的程序员来说,它们过于晦涩难懂。但如果你准备精通你的编程语言,它们将提供大量信息。

第 7 章介绍了Perl及其许多与正则表达式相关的功能和技巧。正则表达式是 Perl 语言的核心部分,构成了几乎所有 Perl 脚本的基本部分。在这里,你将学习没有其他 Perl 书籍(据我所知)会教你的所有知识。一般 Perl 编程书籍通常有一章介绍正则表达式快速入门,“精通正则表达式”向你展示了如何将它们与 Perl 最好地结合使用。

Java章节详细介绍了 java.util.regex 包。此包在 Java 4(JDK 1.4)及更高版本中可用。本章告诉你关于 java.util.regex 包需要了解的所有信息,包括 Java 5(JDK 1.5)和 Java 6(JDK 1.6)中的修复和新功能。由两部分组成。这里有很多细节,如果你不熟悉正则表达式,可能会让你不知所措。在这种情况下,你可能需要获得Mehran Habibi 著的“Java 正则表达式”的副本,以配合“精通正则表达式”。

第九章对Microsoft 的 .NET 框架中的正则表达式支持以及如何最好地使用它提供了很好的概述。本章提供了大量信息,而这些信息在 .NET SDK 附带的文档中严重缺失。虽然我不建议只为 .NET 章节购买本书,但“精通正则表达式”对于希望充分利用其编程框架的出色正则表达式支持的 .NET 程序员来说肯定是一个不错的选择。

最后一章介绍了 PHP 的 preg 函数 和它们所基于的 PCRE 库。解释了所有 PHP 函数及其参数的复杂性。PHP 章节还解释了 PCRE 的 regex 特色,包括 PCRE 的递归模式等独特特性。本书不解释如何在 C/C++ 应用程序中使用 PCRE。

三个版本之间的差异

“精通正则表达式”于 1997 年首次出版,是唯一一本提供有关现代正则表达式的可靠信息的书籍,特别是针对 Perl 5 中实现的正则表达式。它很快成为任何想要了解有关正则表达式的更多信息的人的必读书籍。第一版重点介绍了 Perl

第二版(2002 年)经过彻底修改。它同样涵盖了 PerlJava.NET。Java 章节涵盖了广泛的 Java regex 库以及当时全新的 java.util.regex 包。

第三版(2006 年)与第二版几乎相同。Java 章节现在仅涵盖 java.util.regex 包,并且更详细地介绍了该包,因为它使其他包过时了。还有一章介绍了 PHP 的 preg 函数 以及 preg 函数所基于的 PCRE 库

此页面上的亚马逊链接指向第三版。

其他语言版本

《精通正则表达式》已被翻译成多种语言

除非 PHP 是您唯一感兴趣的语言,否则第二版与第三版一样有用。