好評再版,新增Microsoft Word中的正規表示法
本書針對作者在開發中遇到的實際問題,以及其他開發人員諮詢的問題,總結出一套使用規則運算式解題的辦法,並透過具體的例子指導讀者拆解、分析問題。 本書適合經常需要進行資料處理(比如網路分析或資料管理)的技術人員、熟悉常用開發語言的程式設計師,以及已經對規則運算式有一定瞭解的讀者閱讀。
全書分為三大部分: 第一部分主要講解規則運算式的基礎知識,涵蓋了常見規則運算式中的各種功能和結構;第二部分主要講解關於規則運算式的更深入的知識,詳細探討了編碼問題、匹配原理、解題思路;第三部分將之前介紹的各種知識落實到6種常用語言.NET、Java、JavaScript、PHP、Python、Ruby中,不但詳細介紹了語言中規則運算式的用法,更點明了版本之間的細微差異,既可以作為專門學習的教材,也可以作為有用的參考手冊。
作者序
提到正規表示法,許多人很有點不屑一顧:這東西,不登大雅之堂,再說也不是總要用到,何必專門花時間學習?
沒錯,正規表示法並不“總要用到”,但到了需要的場合用不上,常常產生“一分錢難倒英雄漢”的尷尬。經常需要處理文字的程式設計師自然會知道正規表示法的價值,其他的程式設計師如果不會正規表示法,即使開發的領域與文字處理沒什麼關係,也難免“躺著中槍”的命運——前幾天我遇到一個問題,將一行長長的位址拆分成多行,負責這部分的程式設計師的日常工作只是製作PDF 而已,拆分地址是很“邊緣”的功能,但不會正規表示法就無法準確折行(一般需要在標點符號出現的地方折行,而不能只在空白字元處折行,但是不同語言中的標點符號各有不同),結果一籌莫展;相反,如果了解正規表示法,就可以很容易地處理各種語言中的標點字元。
以我的開發經驗來看,專門花點時間熟練正規表示法,確實是非常有必要的。目前可以見到的關於正規表示法的書籍和資料有不少,但又各有不足。
在網際網路上,流傳著一些程式語言的正則文件和《30 分鐘教會你正規表示法》之類的發文。這種資料的好處是簡單直接,查到了,如果有現成的實例,而且適用於自己的語言,則可以直接拿來用;然而,其壞處也是簡單直接,因為缺乏背後原理的說明,如果找不到現成的實例,或找不到能在自己所使用語言中行得通的實例(需知道,同樣的正規表示法並不能直接套用到不同的語言中),則束手無策。
在正式的出版領域,已經有《精通正規表示法》、《正規表示法一定要會》之類的書籍出版,尤其是前者,堪稱關於正規表示法的經典著作,如果想認真學習正規表示法,這種書籍是必須閱讀的。但這種書籍也有一個弱點,即都是由英文版本翻譯而來的,更多地偏重英文文字的處理,身為中文世界的開發人員,我們經常需要處理中文文字——對於處理英文之外的字元,正規表示法已經提供了足夠豐富的功能,但如何用對、用好這些功能,資料卻很匱乏。
我經常需要給人說明正規表示法的相關知識,時常惋惜的是,開發人員為這些問題所困擾;正因為如此,本書的寫作動機便是著力彌補現有資料的缺陷。
相對於正則文件和速成教學發文,本書深入說明了比對背後的原理,常常會舉一反三,告訴讀者,這裡為何這樣寫,如果改成其他形式,會造成什麼結構;並且,集中說明和比較了多種語言中正規表示法用法的異同,方便讀者把現成的正規表示法“移植”到自己的工作環境中。
相對於《精通正規表示法》等正式的書籍,本書辟出專門的內容說明語言和編碼,告訴讀者如何設定編碼,如何正確處理中文等字元。另外,本書還涵蓋了.NET、Java、JavaScript、PHP、Python、Ruby 六種常用語言,對每種語言列出專門章節,不但詳細介紹了語言中正規表示法的用法,更點明了版本之間的細微差異,不但可以作為專門學習的教材,還可以成為有用的參考手冊。
提到正規表示法,許多人很有點不屑一顧:這東西,不登大雅之堂,再說也不是總要用到,何必專門花時間學習?
沒錯,正規表示法並不“總要用到”,但到了需要的場合用不上,常常產生“一分錢難倒英雄漢”的尷尬。經常需要處理文字的程式設計師自然會知道正規表示法的價值,其他的程式設計師如果不會正規表示法,即使開發的領域與文字處理沒什麼關係,也難免“躺著中槍”的命運——前幾天我遇到一個問題,將一行長長的位址拆分成多行,負責這部分的程式設計師的日常工作只是製作PDF 而已,拆分地址是很“邊緣”的功能,但不會正規表示法就無...
目錄
第01章 字元組
第02章 量詞
第03章 括弧
第04章 斷言
第05章 匹配模式
第06章 其他
第07章 Unicode
第08章 匹配原理
第09章 常見問題的解決思路
第10章 .NET
第11章 Java
第12章 JavaScript
第13章 PHP
第14章 Python
第15章 Ruby
第16章 Linux/UNIX
第17章 常用的正規表示法
附錄A 常用語言中正則特性一覽
附錄B 常用的規則運算式
附錄C 常用的規則運算式工具及資源
第01章 字元組
第02章 量詞
第03章 括弧
第04章 斷言
第05章 匹配模式
第06章 其他
第07章 Unicode
第08章 匹配原理
第09章 常見問題的解決思路
第10章 .NET
第11章 Java
第12章 JavaScript
第13章 PHP
第14章 Python
第15章 Ruby
第16章 Linux/UNIX
第17章 常用的正規表示法
附錄A 常用語言中正則特性一覽
附錄B 常用的規則運算式
附錄C 常用的規則運算式工具及資源
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。