全支援中文的正規表示法精解(第二版) | 拾書所

全支援中文的正規表示法精解(第二版)

$ 522 元 原價 580

內容簡介

好評再版,新增Microsoft Word中的正規表示法

本書針對作者在開發中遇到的實際問題,以及其他開發人員諮詢的問題,總結出一套使用規則運算式解題的辦法,並透過具體的例子指導讀者拆解、分析問題。 本書適合經常需要進行資料處理(比如網路分析或資料管理)的技術人員、熟悉常用開發語言的程式設計師,以及已經對規則運算式有一定瞭解的讀者閱讀。 全書分為三大部分: 第一部分主要講解規則運算式的基礎知識,涵蓋了常見規則運算式中的各種功能和結構;第二部分主要講解關於規則運算式的更深入的知識,詳細探討了編碼問題、匹配原理、解題思路;第三部分將之前介紹的各種知識落實到6種常用語言.NET、Java、JavaScript、PHP、Python、Ruby中,不但詳細介紹了語言中規則運算式的用法,更點明了版本之間的細微差異,既可以作為專門學習的教材,也可以作為有用的參考手冊。

作者簡介

譯者介紹

目錄

第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常用的規則運算式工具及資源

自序/導讀

提到正規表示法,許多人很有點不屑一顧:這東西,不登大雅之堂,再說也不是總要用到,何必專門花時間學習?

沒錯,正規表示法並不“總要用到”,但到了需要的場合用不上,常常產生“一分錢難倒英雄漢”的尷尬。經常需要處理文字的程式設計師自然會知道正規表示法的價值,其他的程式設計師如果不會正規表示法,即使開發的領域與文字處理沒什麼關係,也難免“躺著中槍”的命運——前幾天我遇到一個問題,將一行長長的位址拆分成多行,負責這部分的程式設計師的日常工作只是製作PDF 而已,拆分地址是很“邊緣”的功能,但不會正規表示法就無法準確折行(一般需要在標點符號出現的地方折行,而不能只在空白字元處折行,但是不同語言中的標點符號各有不同),結果一籌莫展;相反,如果了解正規表示法,就可以很容易地處理各種語言中的標點字元。

以我的開發經驗來看,專門花點時間熟練正規表示法,確實是非常有必要的。目前可以見到的關於正規表示法的書籍和資料有不少,但又各有不足。

在網際網路上,流傳著一些程式語言的正則文件和《30 分鐘教會你正規表示法》之類的發文。這種資料的好處是簡單直接,查到了,如果有現成的實例,而且適用於自己的語言,則可以直接拿來用;然而,其壞處也是簡單直接,因為缺乏背後原理的說明,如果找不到現成的實例,或找不到能在自己所使用語言中行得通的實例(需知道,同樣的正規表示法並不能直接套用到不同的語言中),則束手無策。

在正式的出版領域,已經有《精通正規表示法》、《正規表示法一定要會》之類的書籍出版,尤其是前者,堪稱關於正規表示法的經典著作,如果想認真學習正規表示法,這種書籍是必須閱讀的。但這種書籍也有一個弱點,即都是由英文版本翻譯而來的,更多地偏重英文文字的處理,身為中文世界的開發人員,我們經常需要處理中文文字——對於處理英文之外的字元,正規表示法已經提供了足夠豐富的功能,但如何用對、用好這些功能,資料卻很匱乏。

我經常需要給人說明正規表示法的相關知識,時常惋惜的是,開發人員為這些問題所困擾;正因為如此,本書的寫作動機便是著力彌補現有資料的缺陷。

相對於正則文件和速成教學發文,本書深入說明了比對背後的原理,常常會舉一反三,告訴讀者,這裡為何這樣寫,如果改成其他形式,會造成什麼結構;並且,集中說明和比較了多種語言中正規表示法用法的異同,方便讀者把現成的正規表示法“移植”到自己的工作環境中。

相對於《精通正規表示法》等正式的書籍,本書辟出專門的內容說明語言和編碼,告訴讀者如何設定編碼,如何正確處理中文等字元。另外,本書還涵蓋了.NET、Java、JavaScript、PHP、Python、Ruby 六種常用語言,對每種語言列出專門章節,不但詳細介紹了語言中正規表示法的用法,更點明了版本之間的細微差異,不但可以作為專門學習的教材,還可以成為有用的參考手冊。

Brand Slider