快速入門
教學
工具和語言
範例
參考
書籍評論
書籍評論
正則表示式食譜
自學正則表示式
精通正則表示式
Java 正則表示式
Oracle 正則表示式
正則表示式口袋參考
正則表示式食譜
Windows 正則表示式食譜
本網站的更多內容
簡介
正則表示式快速入門
正則表示式教學
替換字串教學
應用和語言
正則表示式範例
正則表示式參考
替換字串參考
書籍評論
可列印 PDF
關於本網站
RSS 饋送和部落格
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 中包含的文件更詳細。但要深入了解正規表示式語法的內部運作,您需要搭配其他資源來補充這本書,例如本網站上的教學課程