快速入門
教學
工具和語言
範例
參考
書籍評論
書籍評論
正規表示式食譜
自學正規表示式
精通正規表示式
Java 正規表示式
Oracle 正規表示式
正規表示式口袋參考
正規表示式食譜
Windows 正規表示式食譜
本網站更多內容
簡介
正規表示式快速入門
正規表示式教學
替換字串教學
應用程式和語言
正規表示式範例
正規表示式參考
替換字串參考
書籍評論
可列印 PDF
關於本網站
RSS 饋送和部落格

Jeffrey Friedl 著的「精通正規表示式」

本書的前六章(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。

三個版本之間的差異

「Mastering Regular Expressions」於 1997 年首次出版時,是唯一一本提供現代正規表示法的紮實資訊的書,特別是實作於 Perl 5 中。它迅速成為任何想要進一步了解正規表示法的人的必讀書。第一版著重於 Perl

第二版(2002 年)經過徹底改寫。它平均涵蓋 PerlJava.NET。Java 章節涵蓋廣泛的 Java regex 函式庫,以及當時全新的 java.util.regex 套件。

第三版(2006 年)與第二版幾乎相同。Java 章節現在僅涵蓋 java.util.regex 套件,並更詳細說明,因為它使其他套件過時。還有一個額外章節涵蓋 PHP 的 preg 函數,以及 preg 函數所建構的 PCRE 函式庫

此頁面上的 Amazon 連結指向第三版。

其他語言版本

Mastering Regular Expressions 已翻譯成多種語言

除非 PHP 是您唯一有興趣的語言,否則第二版與第三版一樣有用。