正則指引

出版時間:2012-5  出版社:電子工業(yè)出版社  作者:余晟  頁數:336  
Tag標簽:無  

前言

  前  言  提到正則表達式,許多人很有點不屑一顧:這東西,不登大雅之堂,再說也不是總要用到,何必專門花時間學習?  沒錯,正則表達式并不“總要用到”,但到了需要的場合用不上,往往產生“一分錢難倒英雄漢”的尷尬。經常需要處理文本的程序員自然會知道正則表達式的價值,其他的程序員如果不會正則表達式,即便開發(fā)的領域與文本處理沒什么關系,也難免“躺著中槍”的命運--前幾天我遇到一個問題,將一行長長的地址拆分成多行,負責這部分的程序員的日常工作只是制作PDF而已,拆分地址是很“邊緣”的功能,但不會正則表達式就無法準確折行(一般需要在標點符號出現(xiàn)的地方折行,而不能只在空白字符處折行,但是不同語言中的標點符號各有不同),結果一籌莫展;相反,如果了解正則表達式,就可以很容易地處理各種語言中的標點字符。  以我的開發(fā)經驗來看,專門花點時間掌握正則表達式,確實是非常有必要的。目前可以見到的關于正則表達式的書籍和資料有不少,但又各有不足?! ≡诨ヂ?lián)網上,流傳著一些編程語言的正則文檔和《30分鐘教會你正則表達式》之類的帖子。這類資料的好處是簡單直接,查到了,如果有現(xiàn)成的例子,而且適用于自己的語言,則可以直接拿來用;然而,其壞處也是簡單直接,因為缺乏背后原理的講解,如果找不到現(xiàn)成的例子,或者找不到能在自己所使用語言中行得通的例子(需知道,同樣的正則表達式并不能直接套用到不同的語言中),則束手無策?! ≡谡降某霭骖I域,已經有《精通正則表達式》、《正則表達式必知必會》之類的書籍出版,尤其是前者,堪稱關于正則表達式的經典著作,如果想認真學習正則表達式,這類書籍是必須閱讀的。但這類書籍也有一個弱點,即都是由英文版本翻譯而來的,更多地側重英文文本的處理,身為中文世界的開發(fā)人員,我們經常需要處理中文文本--對于處理英文之外的字符,正則表達式已經提供了足夠豐富的功能,但如何用對、用好這些功能,資料卻很匱乏?! ∥医洺P枰o人講解正則表達式的相關知識,時常惋惜的是,開發(fā)人員為這些問題所困擾;正因為如此,本書的寫作動機便是著力彌補現(xiàn)有資料的缺陷。  相對于正則文檔和速成教學帖子,本書深入講解了匹配背后的原理,往往會舉一反三,告訴讀者,這里為何這樣寫,如果改成其他形式,會造成什么結構;并且,集中講解和比較了多種語言中正則表達式用法的異同,方便讀者把現(xiàn)成的正則表達式“移植”到自己的工作環(huán)境中?! ∠鄬τ凇毒ㄕ齽t表達式》等正式的書籍,本書辟出專門的內容講解語言和編碼,告訴讀者如何設定編碼,如何正確處理中文等字符。另外,本書還涵蓋了.NET、Java、JavaScript、PHP、Python、Ruby 六種常用語言,對每種語言給出專門章節(jié),不但詳細介紹了語言中正則表達式的用法,更點明了版本之間的細微差異,不但可以作為專門學習的教材,還可以成為有用的參考手冊。  本書結構  本書可以分為三大部分?! 〉谝徊糠种饕v解正則表達式的基礎知識,覆蓋常見正則表達式中的各種功能和結構??赐昵懊?章,就可以基本弄明白現(xiàn)在流行的各種正則表達式;尤其是如果你之前有一些經驗,會覺得閱讀起來并不困難。但是我也希望讀者不要忽略其他的內容,斷言和匹配模式現(xiàn)在已經是正則表達式的“標準配備”了,而且確實可以派上大用場,所以第4章和第5章的內容,即便不是很熟悉,閱讀起來可能有一些麻煩,也不應該忽略。最后的第6章,則厘清了正則表達式在使用中的若干疑惑,了解它們,你就可以相對自由地在正則表達式的世界里行走了?! 〉诙糠种饕v解關于正則表達式的更深入的知識,這一部分用3章的內容,詳細探討了編碼問題、匹配原理、解題思路。這部分內容更抽象,需要多花一點時間來閱讀和理解,但是它們確實可以幫你在正則表達式的世界里登堂入室,脫離“術”的層面,掌握萬變不離其宗的“道”?! 〉谌糠值淖饔檬墙拥貧?,將之前介紹的各種知識落實到六種常用語言.NET、Java、JavaScript、PHP、Python、Ruby中來。每一章的開頭有正則功能列表,其中的功能都對應著前面部分的講解,這些功能的具體應用實例,以及不同版本之間的差異,則在章節(jié)中詳細講解,每一章的最后還給出了常見任務的示例代碼,方便日后查詢。在最后,第16章簡要介紹了正則表達式在Linux下常用工具vi、grep、awk、sed中的使用,并通過一個實際的例子將這幾種工具串起來,對比說明了它們適合解決的問題?! ≡诒緯淖詈筇峁┝擞米鲄⒖嫉?個附錄?! 「戒汚是正則表達式的常用功能在不同語言中的比對,希望能給需要在多種語言中使用正則表達式或者移植正則表達式的讀者提供一份有用的參考;附錄B給出了若干常見的正則表達式,比如匹配郵政編碼、身份證號、手機號、QQ號、電子郵件地址等,希望能成為常見問題的“速查手冊”;附錄C列出了常用正則表達式的工具和資源,方便大家調試自己的正則表達式,以及繼續(xù)深入學習?! ”緯x者  本書適合以下幾類讀者?! 〗洺P枰M行文本處理(比如日志分析或網絡運維)的技術人員。這些讀者或許已經熟悉了正則表達式的基本用法,但面對日益復雜化和海量化的數據,閱讀本書可以幫助你更準確、更高效地處理文本,提升自己工作的價值?! ∈煜こS瞄_發(fā)語言的程序員。雖然這些讀者不需要專職進行文本處理,但源代碼和許多數據其實也是文本,如果不會正則表達式,在偶然遇到處理源代碼或文本數據的任務時,往往會產生躺著中槍的無力感。本書第三部分可以幫你迅速找到有關的例子,并落實在自己的編程語言中。當然前兩部分也非常有必要,因為它們可以幫你夯實基礎。  對正則表達式已經有一定了解的讀者。這些讀者雖然能用正則表達式解決常見的任務,但未必了解正則表達式的編碼問題、匹配原理、解題思路,仔細閱讀本書的第二部分,可以深化完善對正則表達式的理解;而第三部分詳細比較了使用正則表達式時各種語言,以及同一種語言中各種版本的差異。所有這一切,應該可以讓你對正則表達式的掌握更上一層樓?! ≈轮x  一本書的完成,必然離不開眾多人的幫忙。  首先需要感謝的是周筠老師和徐定翔、盧鶇翔兩位編輯,他們在我寫作的最初階段做了大量細心、耐心的工作,完全可以說,沒有他們的這些工作,我就不會有寫作這本書的念頭,或者堅持寫完的動力?! ∪缓笠兄x的是電子工業(yè)出版社的楊福平副總編和張月萍編輯,沒有他們的關照和辛勞工作,這本書的出版定然會遇到更多的困難?! 「兄x我的朋友霍炬和韓磊,雖然我之前閱讀過《精通正則表達式》,但與翻譯和寫作結緣,他們給了我莫大的幫助,有了這個契機,才有了現(xiàn)在的《正則指引》。尤其值得一提的是霍炬的夫人西喬,精心手繪了這本書的封面,在這里表示誠摯的謝意?! 「兄x我曾工作過的盛大創(chuàng)新院以及創(chuàng)新院的各位同事(李駿、郝培強、莊表偉、丁宇、許式偉、莫華楓、李道兵、趙劼、樊一鵬、張一寧等),創(chuàng)新院給了大家寬松自由的工作環(huán)境,與各位同事的討論加深了我對正則表達式的理解,也為我提供了許多例子?! 「兄x張東亮、陸亦斌、孫勇、葉勁峰等各位朋友,愿意撥冗閱讀本書的草稿,并提出了大量專業(yè)的意見?! 「兄x何源、陳鋼、賀鈞、陳馳等讀者,試讀本書之后提出了大量的寶貴意見,在最后關頭打消了我心中的許多忐忑?! ≡诟缰?,我的父母從小就鼓勵我研究和了解各種科學原理(“玩也要動腦筋”),我之所以有興趣探究正則表達式背后的世界,而不滿足于“夠用/湊合”,歸源都是受益于這種思維行為習慣。此外,在中小學階段,我的語文老師羅碧玉、郭志鴻、易璽銘培養(yǎng)了我對于文字的興趣,在大學階段,東北師范大學文學院的王確老師給了我這個理科生非常多的幫助和指引。對各位師長,在此一并表示感謝,能遇到你們是我的幸運?! ∽詈筮€需要感謝許多為這本書做出過貢獻的人,你們的名字我可能暫時無法記起,或者無法一一羅列,但我會在心中存留對你們的謝意。

內容概要

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

作者簡介

  余晟,畢業(yè)于計算機系,副修中文,非正統(tǒng)型技術愛好者。曾任抓蝦網、銀杏泰克主力程序員,盛大創(chuàng)新院高級研究員,現(xiàn)任華南某電商公司技術部總監(jiān)。堅信計算機可以無限延伸人的能力,前提是人必須理解計算機的邏輯,所以對任何技術都不應該淺嘗輒止,僅僅滿足于“會用”。
  已經翻譯出版《精通正則表達式(第3版)》和《技術領導之路》,審閱《軟件架構師應該知道的97件事》和《REST in
Practice中文版》。

書籍目錄

第一部 分
第1章 字符組
1.1 普通字符組
1.2 關于Python的基礎知識
1.3 普通字符組(續(xù))
1.4 元字符與轉義
1.5 排除型字符組
1.6 字符組簡記法
1.7 字符組運算
1.8 POSIX字符組
第2章 量詞
2.1 一般形式
2.2 常用量詞
2.3 數據提取
2.4 點號
2.5 濫用點號的問題
2.6 忽略優(yōu)先量詞
2.7 轉義
第3章 括號
3.1 分組
3.2 多選結構
3.3 引用分組
3.3.1 反向引用
3.3.2 各種引用的記法
3.3.3 命名分組
3.4 非捕獲分組
3.5 補充
3.5.1 轉義
3.5.2 URL Rewrite
3.5.3 一個例子
第4章 斷言
4.1 單詞邊界
4.2 行起始/結束位置
4.3 環(huán)視
4.4 補充
4.4.1 環(huán)視的價值
4.4.2 環(huán)視與分組編號
4.4.3 環(huán)視的支持程度
4.4.4 環(huán)視的組合
4.4.5 斷言和反向引用之間的關系
第5章 匹配模式
5.1 不區(qū)分大小寫模式
5.1.1 模式的指定方式
5.2 單行模式
5.3 多行模式
5.4 注釋模式
5.5 補充
5.5.1 更多的模式
5.5.2 修飾符的作用范圍
5.5.3 失效修飾符
5.5.4 模式與反向引用
5.5.5 沖突策略
5.5.6 哪種方式更好
第6章 其他
6.1 轉義
6.1.1 字符串轉義與正則轉義
6.1.2 元字符的轉義
6.1.3 徹底消除元字符的特殊含義
6.1.4 字符組中的轉義
6.2 正則表達式的處理形式
6.2.1 函數式處理
6.2.2 面向對象式處理
6.2.3 比較
6.2.4 線程安全性
6.3 表達式中的優(yōu)先級
第二部 分
第7章 Unicode
7.1 關于編碼
7.2 推薦使用Unicode編碼
7.3 Unicode匹配規(guī)則
7.4 單詞邊界
7.5 碼值
7.6 Unicode屬性
7.6.1 Unicode Property
7.6.2 Unicode Block
7.6.3 Unicode Script
7.7 Unicode屬性列表
7.7.1 Unicode Property
7.7.2 Unicode Block
7.7.3 Unicode Script
7.8 POSIX字符組
第8章 匹配原理
8.1 有窮自動機
8.2 正則表達式的匹配過程
8.3 回溯
8.4 NFA和DFA
第9章 常見問題的解決思路
9.1 關于元素的三種邏輯
9.1.1 必須出現(xiàn)
9.1.2 可能出現(xiàn)
9.1.3 不能出現(xiàn)
9.2 正則表達式的常見操作
9.2.1 提取
9.2.2 驗證
9.2.3 替換
9.2.4 切分
9.3 正則表達式的優(yōu)化建議
9.3.1 使用緩存
9.3.2 盡量準確地表達意圖
9.3.3 避免重復匹配
9.3.4 獨立出文本和錨點
9.4 別過分依賴正則表達式
9.4.1 徹底放棄字符串操作
9.4.2 思維定勢
9.4.3 正則表達式可以匹配各種文本
第三部 分
第10章 .NET
10.1 預備知識
10.2 正則功能詳解
10.2.1 列表
10.2.2 字符組
10.2.3 Unicode屬性
10.2.4 字符組簡記法
10.2.5 單詞邊界
10.2.6 行起始/結束位置
10.2.7 環(huán)視
10.2.8 匹配模式
10.2.9 捕獲分組的引用
10.3 正則API簡介
10.3.1 Regex
10.3.2 Match
10.4 常用操作示例
10.4.1 驗證
10.4.2 提取
10.4.3 替換
10.4.4 切分
第11章 Java
11.1 預備知識
11.2 正則功能詳解
11.2.1 列表
11.2.2 字符組
11.2.3 Unicode屬性
11.2.4 字符組簡記法
11.2.5 單詞邊界
11.2.6 行起始/結束位置
11.2.7 環(huán)視
11.2.8 匹配模式
11.2.9 純文本模式
11.2.10 捕獲分組的引用
11.3 正則API簡介
11.3.1 Pattern
11.3.2 Matcher
11.3.3 String
11.4 常用操作示例
11.4.1 驗證
11.4.2 提取
11.4.3 替換
11.4.4 切分
第12章 JavaScript
12.1 預備知識
12.2 正則功能詳解
12.2.1 列表
12.2.2 字符組
12.2.3 字符組簡記法
12.2.4 單詞邊界
12.2.5 行起始/結束位置
12.2.6 環(huán)視
12.2.7 匹配模式
12.2.8 捕獲分組的引用
12.3 正則API簡介
12.3.1 RegExp
12.3.2 String
12.4 常用操作示例
12.4.1 驗證
12.4.2 提取
12.4.3 替換
12.4.4 切分
12.5 關于ActionScript
12.5.1 RegExp
12.5.2 匹配規(guī)則
12.5.3 匹配模式
12.5.4 正則API
第13章 PHP
13.1 預備知識
13.2 正則功能詳解
13.2.1 列表
13.2.2 字符組
13.2.3 Unicode屬性
13.2.4 字符組簡記法
13.2.5 單詞邊界
13.2.6 行起始/結束位置
13.2.7 環(huán)視
13.2.8 匹配模式
13.2.9 純文本模式
13.2.10 捕獲分組的引用
13.3 正則API簡介
13.3.1 PREG 常量說明
13.3.2 preg_quote
13.3.3 preg_ grep
13.3.4 preg_match
13.3.5 preg_match_all
13.3.6 preg_ last_ error
13.3.7 preg_replace
13.3.8 preg_ replace_ callback
13.3.9 preg_ filter
13.3.10 preg_ split
13.4 常見的正則操作舉例
13.4.1 驗證
13.4.2 提取
13.4.3 替換
13.4.4 切分
第14章 Python
14.1 預備知識
14.2 正則功能詳解
14.2.1 列表
14.2.2 字符組
14.2.3 Unicode屬性
14.2.4 字符組簡記法
14.2.5 單詞邊界
14.2.6 行起始/結束位置
14.2.7 環(huán)視
14.2.8 匹配模式
14.2.9 捕獲分組的引用
14.3 正則API簡介
14.3.1 RegexObject
14.3.2 re.compile(regex[, flags])
14.3.3 re.search(pattern, string[, flags])
14.3.4 MatchObject
14.3.5 re.match(pattern, string[, flags])
14.3.6 re.findall(pattern, sting[, flags])
14.3.7 re.finditer(pattern, string[, flags])
14.3.8 re.split(pattern, string[, maxsplit=0, flags=0])
14.3.9 re.sub(pattern, repl, string[, count, flags])
14.4 常用操作示例
14.4.1 驗證
14.4.2 提取
14.4.3 替換
14.4.4 切分
第15章 Ruby
15.1 預備知識
15.2 正則功能詳解
15.2.1 列表
15.2.2 字符組
15.2.3 Unicode屬性
15.2.4 字符組簡記法
15.2.5 單詞邊界
15.2.6 行起始/結束位置
15.2.7 環(huán)視
15.2.8 匹配模式
15.2.9 捕獲分組的引用
15.3 正則API簡介
15.3.1 Regexp
15.3.2 Regexp.match(text)
15.3.3 Regexp.quote(text)和Regexp.escape(text)
15.3.4 String.index(Regexp)
15.3.5 String.scan(Regexp)
15.3.6 String.slice(Regexp)
15.3.7 String.split(Regexp)
15.3.8 String.sub(Regexp, Str)
15.3.9 String.gsub(Regexp, String)
15.4 常用操作示例
15.4.1 驗證
15.4.2 提取
15.4.3 替換
15.4.4 切分
15.5 Ruby 1.9的新變化
第16章 Linux/UNIX
16.1 POSIX
16.1.1 POSIX規(guī)范
16.1.2 POSIX字符組
16.2 vi
16.2.1 字符組及簡記法
16.2.2 量詞
16.2.3 多選結構和捕獲分組
16.2.4 環(huán)視
16.2.5 錨點和單詞邊界
16.2.6 替換操作的特殊字符
16.2.7 replacement中的特殊變量
16.2.8 補充
16.3 grep
16.3.1 基本用法
16.3.2 字符組
16.3.3 錨點和單詞邊界
16.3.4 量詞
16.3.5 多選結構和捕獲分組
16.3.6 options
16.3.7 egrep和fgrep
16.3.8 補充
16.4 awk
16.4.1 基本用法
16.4.2 字符組及簡記法
16.4.3 錨點和單詞邊界
16.4.4 量詞
16.4.5 多選結構
16.4.6 補充
16.5 sed
16.5.1 基本用法
16.5.2 字符組及簡記法
16.5.3 錨點和單詞邊界
16.5.4 量詞
16.5.5 多選結構和捕獲分組
16.5.6 options
16.5.7 補充
16.6 總結
附錄A 常用語言中正則特性一覽
附錄B 常用的正則表達式
附錄C 常用的正則表達式工具及資源

章節(jié)摘錄

版權頁:   插圖:   第1章 字符組 1.1 普通字符組 字符組(Character Class)是正則表達式最基本的結構之一,要理解正則表達式的“靈活”,認識它是第一步。 顧名思義,字符組就是一組字符,在正則表達式中,它表示“在同一個位置可能出現(xiàn)的各種字符”,其寫法是在一對方括號【和】之間列出所有可能出現(xiàn)的字符,簡單的字符組比如[ab]、[314】、【#.?】在解決一些常見問題時,使用字符組可以大大簡化操作,下面舉“匹配數字字符”的例子來說明。 字符可以分為很多類,比如數字、字母、標點等。有時候要求“只出現(xiàn)一個數字字符”,換句話說,這個位置上的字符只能是0、1、2、…、8、9這10個字符之一。要進行這種判斷,通常的思路是:用10個條件分別判斷字符是否等于這10個字符,對10個結果取“或”,只要其中一個條件成立,就返回True,表示這是一個數字字符,其偽代碼如例1—1所示。 例1—1判斷數字字符的偽代碼 charStr=="0"||charStr=="1"…||charStr=="9" 注:因為正則表達式處理的都是"字符串"(String)而不是”字符”,所以這里假設變量charStr(雖然它只包含一個字符)也是字符串類型,使用了雙引號,在有些語言中字符串也用單引號表示。 這種解法的問題在于太煩瑣——如果要判斷是否是一個小寫英文字母,就要用||連接26個判斷;如果還要兼容大寫字母,則要連接52個判斷,代碼長到幾乎無法閱讀。相反,用字符組解決起來卻異常簡單,具體思路是:列出可能出現(xiàn)的所有字符(在這個例子里就是10個數字字符),只要出現(xiàn)了其中任何一個,就返回True。例1—2給出了使用字符組判斷的例子,程序語言使用Python。 例1—2 用正則表達式判斷數字字符 re.search("[8123456789]¨,charStr)!=None re.search()是Python提供的正則表達式操作函數,表示“進行正則表達式匹配”;charStr仍然是需要判斷的字符串,而[01234S6789】則是以字符串形式給出的正則表達式,它是一個字符組,表示“這里可以是0、1、2、…、8、9中的任意一個字符。只要charStr與其中任何一個字符相同(或者說“charStr可以由【0123456789】匹配”),就會得到一個Matchobject對象(這個對象暫時不必關心,在第21頁會詳細講解);否則,返回None。所以判斷結果是否為None,就可以判斷charStr是否是數字字符。 當今流行的編程語言大多支持正則表達式,上面的例子在各種語言中的寫法大抵相同,唯一的區(qū)別在于如何調用正則表達式的功能,所以用法其實大同小異。例1—3列出了常見語言中的表示,如果你現(xiàn)在就希望知道語言的細節(jié),可以參考本書第三部分的具體章節(jié)。

編輯推薦

《正則指引》適合經常需要進行文本處理(比如日志分析或網絡運維)的技術人員、熟悉常用開發(fā)語言的程序員,以及已經對正則表達式有一定了解的讀者閱讀。

名人推薦

掌握正則表達式應該是IT工程師的一項標準技能,遺憾的是,過去,不少人多多少少忽視了這一點,所以在工作中總要應對正則表達式帶來的【麻煩】。 我相信只有掌握并熟練運用它才有可能成為一個高效率的工程師。期待每個人手邊都有一本正則表達式的參考書,當然,最好就是你現(xiàn)在看到的這本。 就在寫這句話的幾分鐘前,我又從這本書中學到了一個有用的技巧。 ——馮大輝 配合恰當的案例,大量的反問,使讀者自問、思考,扣人心扉,比較有代入感。加上配圖,很容易讓讀者全面認識正則表達式。在原理講解的章節(jié),對比兩種理論模型的區(qū)別,順其自然地引入NFA引擎的關鍵要素:回溯。使讀者從匹配原理上了解回溯,寫出高效、嚴謹的正則表達式。 ——陳馳 本書由淺入深地講述了正則表達式,在正則的應用和調優(yōu)方面有非常詳細的介紹,特別在正則表達式處理中文方面有獨到的闡述。對于需要經常處理中文的國內技術人員來說,無疑是非常值得擁有的一本手冊。 ——賀鈞 正則表達式是程序員的必備知識。如果您還沒有使用過這個強大的工具,或者學習正則表達式總不得要領。確實可以讀讀《正則指引》。 ——何源 這是一本通俗版的“精通正則表達式”。高手很難挑出毛病,一般程序員會受益匪淺,普通用戶一步步讀下去也能登堂入室。 ——張東亮 余晟在之前翻譯業(yè)內名著的基礎上,結合中文環(huán)境和自己的豐富經驗,再接再厲推出自己的原創(chuàng)著作,實在是我等碼農的一大幸事。 ——陳鋼

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    正則指引 PDF格式下載


用戶評論 (總計64條)

 
 

  •   這是一本學習的好書,我原來都是零星地使用正則表達式,不熟練、不能很好地解決問題。這本書全面地介紹了它的各種用法以及容易出錯的陷阱,很多實用的例子可以在工作中借用,用Python語言舉例也是一大特色
  •   以前看過余晟翻的那本,這次見微博上有人說他原創(chuàng)了正則表達式的專著,果斷下手,剛看了前面一小部分,沒一句廢話,全是干貨。 當當發(fā)貨真給力啊,上午定的,下班前送達
  •   相信大家要賣這類書,肯定是對正則表達式一頭霧水。呵呵,我也是,所以買了。邊看邊害怕,正則表達式真是一個深奧的規(guī)則,幸虧有這本書表述簡練準確,且例子多,學起來感覺不是那么難。學一門知識,關鍵是入好門,這本書是的。還提供了不同語言的使用方法和注意事項。非常實用。
  •   這是一本可以幫助開發(fā)人員在正則表達式的世界里登堂入室,脫離“術”的層面,掌握萬變不離其宗的“道”的好書。 整本書值得多花時間來研讀。
  •   不容錯過的好書,正則愛好者的福音啊,作者還是《正則表達式權威指南》的翻譯!?。?/li>
  •   盼了好久才拿到手,書中有關正則表達式的案例超多,尤其是講了多種語言下的實現(xiàn)。好書,放在案頭慢慢看
  •   如何處理和漢字相關的正則表達式,以前看過的書中鮮有涉及,這本書里講到了,贊贊贊
  •   書里有邊講正則表達式,邊給出例子,是學正則的一本不錯的書!
  •   這是在看《精通正則表達式》的時候搜譯者時發(fā)現(xiàn)的,想來不錯。
  •   挺給力的,用來學習正則表達式的好幫手。
  •   一直對正則表達式很頭疼,終于下決心買參考書了。
  •   正則表達式很厲害
  •   國人寫的正則表達式方面的專著還真不多見,好書
  •   相較于《正則權威指南》,本地化強一些,有對各種語言的實現(xiàn),都做了說明。
  •   本來就一直說期待這本書,后來雖然改了名字,但依然是那么吸引人。喜歡和需要研究正則的同學們一定不要錯過
  •   一直對正則不是很了解,相應的書也很少,這本書不錯!
  •   正則入門的基礎書
  •   國內的正則好資料,贊一個!
  •   有不同語言的示例,有專門針對Unicode的章節(jié)。不錯的好書。
  •   非常喜歡的書,大多都是用Python做的例子,對于一個Pyhoner來說夠給力的。
  •   可惜環(huán)境是python的。
  •   如何匹配郵政編碼、身份證號、手機號、IP地址、時間字符串。。。書中直接給出答案,太方便了
  •   看了之后受益匪淺,特別適合初學者閱讀
  •   還沒看,希望如傳說中的好
  •   感覺這本書對我隔個人來說感覺可以
  •   寫得非常好,在書店看了一般覺得不錯,就買過來的~
  •   還沒看,看起來不錯。書質量很好
  •   封皮不錯哦
  •   內容不錯,就是壓皺了一點點,但并沒有影響
  •   goodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgood
  •   正則指引 這本書 說白了就是《精通正則表達式》的中國版,沒有精通好
  •   《正則指引》寫得通俗易懂,可能跟我以前學過SED、AWK、GREP有關,不過估計作者寫完本書后已經很累或者喝酒慶祝了,里面打印錯誤不少,內容錯誤也有一些,但還不失為一本入門好書。封面設計也不錯,是精心手繪的。
  •   各種編程語言的正則應用都提及了一點,偶只看了Java中的應用
  •   對我這種基本用不到正則的來說,專門買本正則的書用處真不是很大。
  •   正則入門的好選擇
  •   書到的時候封面被撕爛了一角,本來想換的,但是一換就得換5本,還是算了。內容還是很不錯的,專門為國人寫的書。
  •   寫得比較全
  •   lg的書,他說挺好,但是就是送來的時候書頁折傷了,看著舊,當當的包裝真的要改進了,和**比差太多,再這樣下去我這個當當的鉆石卡會員也該轉會了。
  •   可以用來當工具書,入門書也可以。
  •   優(yōu)點:1.作者本身是一位非常有資歷寫正則表達式相關書籍的人;2.作者作為《精通正則表達式》的譯者,本書的內容較之相比,提供了另一種視角,也展現(xiàn)了作者本身對于正則表達式的一些獨到的理解3.書中代碼主要由python寫的,對于寫python的人來說無縫銜接4.書是12年的,所以有些例子較《精通正則表達式》更準確、更“現(xiàn)代”一些,因為過了這么多年了,各種語言的解釋器都改善了5.全書結構清晰,而且易于查閱,不像某些其它書這扯一點那扯一點云里霧里的6.紙張很不錯問題:1.對于正則表達式匹配原理的筆墨較《精通正則表達式》少多了,而且涉及原理的例子講解也少,只能作為一種參考,如果需要系統(tǒng)學習正則匹配原理的內容,還得靠《精通正則表達式》(PS:我認為掌握正則匹配原理的惟一選擇就是《精通正則表達式》)2.書中的好多(真的是很多)代碼例子的輸出結果都不正確,而且與作者講解的目標輸出還沖突,不知道是不是趕工——蘿卜快了不洗泥,感覺就像是沒有審校過一樣。(PS:這是中國技術圖書作者的通病,希望作者能夠把這個問題認識起來,哪怕延期也不要粗制濫造)3.感覺作者對某些語言(尤其ruby)的使用有些業(yè)余,只能說作者能夠用這款語言解決問題,但是寫出來的代碼有些不搭語言本身的風格和慣例(PS:在ru...by里,instance method 用 SomeClass#instance_method(String#split)這種方式表示而非java里面的點號表示法)4.對于本書事例語言的選擇我認為不夠好,首先perl作為正則表達式的巨擘(到現(xiàn)在perl也是所有編程語言中對正則表達式的支持最強大和最完善的,后來者ruby可與之分庭抗禮,其他語言的正則不是不夠簡潔就是支持不夠強大),書中沒有一點涉及到perl的代碼,其次,對于正則表達式這么晦澀的知識點來說,應該選擇更清晰的語言講解,但是python的正則本身就涉及到復雜的字符串轉義問題,在這點來看,ruby和js都更適合講解 閱讀更多 ›
  •   只看了看書的目錄,感覺這本書應該比《精通正則表達式》第三版會更加適合我們中國人1.本書是由Python為基礎首先介紹正則的(《精通正則表達式》是由Perl來介紹的)2.感覺這本書會比《精通正則表達式》更加通俗易懂(那本書是余晟很用心翻譯的,這本是余晟老師寫得,應該不會讓我們失望)3.此書中加入Ruby的正則買的同學可以發(fā)個書評分享,已經入了《精通正則表達式》,不太想重復消費啊
  •   正則表達式是很強大的,從hatena創(chuàng)始人寫的那本 《大規(guī)模web開發(fā)》中就可見一斑。在vim中利用正則表達式 很牛x地替換部分文本的時候 總有很geek的感覺。
  •   pg10,例:1-11原文:re.search("^[012]345]$","2345")!=None # =>True其結果應該為False,還有就是前言部分:re.search(str,pattern_str)后面的所有實例又變成了:re.search(pattern_str,str)讓人很費解。
  •   這本書邏輯非常清楚,把正則表達式的知識講的非常詳細,一看就懂,激發(fā)了繼續(xù)學習的欲望。在看的過程中由衷地認為這是我近些年來讀過的計算機方面的書中寫的最好的。能把計算機方面的書寫到這個程度,實在是佩服之極,不容易啊。也說明了作者的扎實的功底和清晰的思維,不容易啊。非常值得學習正則的讀者去仔細研讀。唯有書中有些地方有錯字掉字的情況,但是不多,估計可能是印刷前的校對問題。
  •   各個方面的正則表達式,還算是全面,一般人只會用到其中的一部分吧
  •   絕對的給力,對于一個像我這樣的新手來說,足夠了。
  •   包含了各種常用語言和Linux里的正則表達式用法。
  •   感覺講的很好,相比精通正則表達式各有千秋吧,不過感覺國人寫書的思維與表達可能讓我覺得更好接受。
  •   可以說是 正則寶典 講的無比細致,想好好 補補正則的朋友,該好好看看這本書。受益匪淺
  •   參考書,參考書,參考書
  •   各種語言必備良書,值得學習
  •   國內正則比較難得的好書之一
  •   行文思路清楚,舉例詳盡,非常推薦!
  •   內容由淺入深,很好。
  •   今天收到書,網上看過樣章,感覺很不錯。。??墒?,可是 拿到書之后,前言那篇印刷字體居然斜了,然后發(fā)現(xiàn)整本書都是這樣,紙張質量想當差。。。不想是正版的啊
  •   內容還錯。。。
  •   那種逐漸成長、
  •   喜歡真喜歡
  •   正則指引
  •   給力,詳細
  •   看的還可以吧
  •   余老師的力作
  •   當正則手冊用的
  •   好書,初看了前面幾頁還行!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7