出版時間:2007 出版社:電子工業(yè)出版社 作者:Jeffrey E. F. Friedl 頁數(shù):515 譯者:余晟
Tag標簽:無
內(nèi)容概要
隨著互聯(lián)網(wǎng)的迅速發(fā)展,幾乎所有工具軟件和程序語言都支持的正則表達式也變得越來越強大和易于使用。《精通正則表達式(第3版)》是講解正則表達式的經(jīng)典之作。《精通正則表達式(第3版)》主要講解了正則表達式的特性和流派、匹配原理、優(yōu)化原則、實用訣竅以及調(diào)校措施,并詳細介紹了在Perl、Java、.NET、PHP中正則表達式的用法?! 毒ㄕ齽t表達式(第3版)》自第1版開始著力于教會讀者 “以正則表達式來思考”,來讓讀者真正“精通”正則表達式。該版對PHP的相關(guān)內(nèi)容、Java1.5和Java1.6的新特性作了可觀的擴充講解。任何有機會使用正則表達式的讀者都將因《精通正則表達式(第3版)》而受益匪淺。
作者簡介
Jeffrey E.F.Friedl生長于俄亥俄州Rootstown的鄉(xiāng)村,小時候希望成為天文學家,直到有一天他發(fā)現(xiàn)了閑置在化學實驗室角落里的TRS-80 Model I(裝備了整整16KB RAM)。1980年他終于開始使用Unix(和正則表達式)。在肯特(Kent)大學和新罕布什爾(New Hampshire)大學分別獲得計算機學士和碩士學位之后,他在日本京都工作了8年,為歐姆龍公司(Omron Corporation)進行核心開發(fā),1997年遷居硅谷,在當時還不為人知的Yahoo!用正則表達式處理財經(jīng)新聞和數(shù)據(jù)。2004年4月他偕妻兒返回京都。 Friedl的閑暇時間很充裕,這時候他喜歡與妻子Fumie和3歲的活蹦亂跳的兒子Anthony一起。他還喜歡拍攝遍布京都的美景,照片在他的。
書籍目錄
前言第1章正則表達式入門解決實際問題作為編程語言的正則表達式以文件名做類比以語言做類比正則表達式的思維框架對于有部分經(jīng)驗的讀者檢索文本文件:EgrepEgrep元字符行的起始和結(jié)束字符組用點號匹配任意字符多選結(jié)構(gòu)忽略大小寫單詞分界符小結(jié)可選項元素其他量詞:重復出現(xiàn)括號及反向引用神奇的轉(zhuǎn)義基礎(chǔ)知識拓展語言的差異正則表達式的目標更多的例子正則表達式術(shù)語匯總改進現(xiàn)狀總結(jié)一家之言第2章入門示例拓展關(guān)于這些例子Perl簡單入門使用正則表達式匹配文本向?qū)嵱玫某绦蚯斑M成功匹配的副作用錯綜復雜的正則表達式暫停片刻使用正則表達式修改文本例子:公函生成程序舉例:修整股票價格自動的編輯操作處理郵件的小工具用環(huán)視功能為數(shù)值添加逗號Text-to-HTML轉(zhuǎn)換回到單詞重復問題第3章正則表達式的特性和流派概覽在正則的世界中漫步正則表達式的起源最初印象正則表達式的注意事項和處理方式集成式處理程序式處理和面向?qū)ο笫教幚聿檎液吞鎿Q其他語言中的查找和替換注意事項和處理方式:小結(jié)字符串,字符編碼和匹配模式作為正則表達式的字符串字符編碼Unicode正則模式和匹配模式常用的元字符和特性字符表示法字符組及相關(guān)結(jié)構(gòu)錨點及其他“零長度斷言”注釋和模式量詞分組,捕獲,條件判斷和控制高級話題引導第4章:表達式的匹配原理發(fā)動引擎兩類引擎新的標準正則引擎的分類幾句題外話測試引擎的類型匹配的基礎(chǔ)關(guān)于范例規(guī)則1:優(yōu)先選擇最左端的匹配結(jié)果引擎的構(gòu)造規(guī)則2:標準量詞是匹配優(yōu)先的表達式主導與文本主導NFA引擎:表達式主導DFA引擎:文本主導第一想法:比較NFA與DFA回溯真實世界中的例子:面包屑回溯的兩個要點備用狀態(tài)回溯與匹配優(yōu)先關(guān)于匹配優(yōu)先和回溯的更多內(nèi)容匹配優(yōu)先的問題多字符“引文”使用忽略優(yōu)先量詞匹配優(yōu)先和忽略優(yōu)先都期望獲得匹配匹配優(yōu)先、忽略優(yōu)先和回溯的要旨占有優(yōu)先量詞和固化分組占有優(yōu)先量詞,?+、*+、++和{m,n}+環(huán)視的回溯多選結(jié)構(gòu)也是匹配優(yōu)先的嗎發(fā)掘有序多選結(jié)構(gòu)的價值NFA、DFA和POSIX最左最長規(guī)則POSIX和最左最長規(guī)則速度和效率小結(jié):NFA與DFA的比較總結(jié)第5章:正則表達式實用技巧正則表達式的平衡法則若干簡單的例子匹配連續(xù)行(續(xù)前)匹配IP地址處理文件名匹配對稱的括號防備不期望的匹配匹配分隔符之內(nèi)的文本了解數(shù)據(jù),做出假設去除文本首尾的空白字符HTML相關(guān)范例匹配HTMLTag匹配HTMLLink檢查HTTPURL驗證主機名在真實世界中提取URL擴展的例子保持數(shù)據(jù)的協(xié)調(diào)性解析CSV文件第6章:打造高效正則表達式典型示例稍加修改——先邁最好使的腿效率vs準確性繼續(xù)前進——限制匹配優(yōu)先的作用范圍實測全面考查回溯POSIXNFA需要更多處理無法匹配時必須進行的工作看清楚一點多選結(jié)構(gòu)的代價可能很高性能測試理解測量對象PHP測試Java測試VB.NET測試Ruby測試Python測試Tcl測試常見優(yōu)化措施有得必有失優(yōu)化各有不同正則表達式的應用原理應用之前的優(yōu)化措施通過傳動裝置進行優(yōu)化優(yōu)化正則表達式本身提高表達式速度的訣竅常識性優(yōu)化將文字文本獨立出來將錨點獨立出來忽略優(yōu)先還是匹配優(yōu)先?具體情況具體分析拆分正則表達式模擬開頭字符識別使用固化分組和占有優(yōu)先量詞主導引擎的匹配消除循環(huán)方法1:依據(jù)經(jīng)驗構(gòu)建正則表達式真正的“消除循環(huán)”解法方法2:自頂向下的視角方法3:匹配主機名觀察使用固化分組和占有優(yōu)先量詞簡單的消除循環(huán)的例子消除C語言注釋匹配的循環(huán)流暢運轉(zhuǎn)的表達式引導匹配的工具引導良好的正則表達式速度很快完工總結(jié):開動你的大腦第7章:Perl作為語言組件的正則表達式Perl的長處Perl的短處Perl的正則流派正則運算符和正則文字正則文字的解析方式正則修飾符正則表達式相關(guān)的Perl教義表達式應用場合動態(tài)作用域及正則匹配效應匹配修改的特殊變量qr//運算符與regex對象構(gòu)建和使用regex對象探究regex對象用regex對象提高效率Match運算符Match的正則運算元指定目標運算元Match運算符的不同用途迭代匹配:ScalarContext,不使用/gMatch運算符與環(huán)境的關(guān)系Substitution運算符運算元replacement/e修飾符應用場合與返回值Split運算符Split基礎(chǔ)知識返回空元素Split中的特殊Regex運算元Split中帶捕獲型括號的match運算元巧用Perl的專有特性用動態(tài)正則表達式結(jié)構(gòu)匹配嵌套結(jié)構(gòu)使用內(nèi)嵌代碼結(jié)構(gòu)在內(nèi)嵌代碼結(jié)構(gòu)中使用local函數(shù)關(guān)于內(nèi)嵌代碼和my變量的忠告使用內(nèi)嵌代碼匹配嵌套結(jié)構(gòu)正則文字重載正則文字重載的問題模擬命名捕獲效率辦法不只一種表達式編譯、/o修飾符、qr/···/和效率理解“原文”副本Study函數(shù)性能測試正則表達式調(diào)試信息結(jié)語第8章:JavaJava的正則流派Java對\p{}和\P{}的支持Unicode行終結(jié)符使用java.util.regexThePattern.compile()FactoryPattern的matcher方法Matcher對象應用正則表達式查詢匹配結(jié)果簡單查找-替換高級查找-替換原地查找-替換Matcher的檢索范圍方法鏈構(gòu)建掃描程序Matcher的其他方法Pattern的其他方法Pattern的split方法,單個參數(shù)Pattern的split方法,兩個參數(shù)拓展示例為ImageTag添加寬度和高度屬性對于每個Matcher,使用多個Pattern校驗HTML解析CSV文檔Java版本差異1.4.2 和1.5.0之間的差異1.5.0和1.6 之間的差異第9章:.NET.NET的正則流派對于流派的補充使用.NET正則表達式正則表達式快速入門包概覽核心對象概覽核心對象詳解創(chuàng)建Regex對象使用Regex對象使用Match對象使用Group對象靜態(tài)“便捷”函數(shù)正則表達式緩存輔助函數(shù).NET高級話題正則表達式裝配件匹配嵌套結(jié)構(gòu)Capture對象第10章:PHPPHP的正則流派Preg函數(shù)接口“Pattern”參數(shù)Preg函數(shù)羅列preg_matchpreg_match_allpreg_replacepreg_replace_callbackpreg_splitpreg_greppreg_quote“缺失”的preg函數(shù)preg_regex_to_pattern對未知的Pattern參數(shù)進行語法檢查對未知正則表達式進行語法檢查遞歸的正則表達式匹配嵌套括號內(nèi)的文本不能回溯到遞歸調(diào)用之內(nèi)匹配一組嵌套的括號PHP效率模式修飾符S:“研究”擴展示例用PHP解析CSV檢查taggeddata的嵌套正確性索引
媒體關(guān)注與評論
“如果你的工作需要用到正則表達式(即便你已經(jīng)有本很不錯的關(guān)于開發(fā)語言的書),我還是要向你強烈推薦本書。” ——Dr.Chris Brown.Linux FOrmat “毫不夸張地說,《精通正則表達式(第3版)》是學習該工具的不二選擇,也是每個程序員必備的杰作?!薄 狫asOn Menard.JaVa Ranch “所有關(guān)于正則表達式的書中,找不到比這更好的了?!? ——Zak Greant.Planet PHP
編輯推薦
《精通正則表達式(第3版)》講解正則表達式,這種工具能夠提高工作效率、讓生活變得更輕松。精心調(diào)校后的正則表達式只需要十多秒就能完成以前數(shù)小時才能完成的枯燥任務。如今,正則表達式已經(jīng)成為眾多語言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NETFramework中的任何語言)——中的標準特性,依靠它,你能以之前完全不敢設想的方式進行復雜而精巧的文本處理。十年三版,再顯王者風范,近30年開發(fā)經(jīng)驗的智慧結(jié)晶,深入理解正則表達式,徹底修煉基本功,全球第一本全面深入講解正則表達式的經(jīng)典巨著,《程序員》雜志技術(shù)主編孟巖鼎力推薦?! <尹c評:《精通正則表達式》是系統(tǒng)學習正則表達式的唯一最權(quán)威著作。任何時候,任何地方,只要提到正則表達式著作,人們都會提到這本書。該書質(zhì)量之高,聲譽之盛,使得幾乎沒有人企圖挑戰(zhàn)它的地位,從而在正則表達式圖書領(lǐng)域形成了獨特的“一夫當關(guān)”的局面,稱其為正則表達式圣經(jīng),絕對當之無愧。 ——《程序員》雜志技術(shù)主編孟巖 《精通正則表達式(第3版)》包含了對PHP及其正則表達式的講解。這一版的更新也反映了其他語言的發(fā)展,深入講解了Sun的java.util.regex,并特別提到了Java1.4.2和Java1.5/1.6之間的眾多差異。 本書的內(nèi)容: ·各種語言和工具的功能比較 ·正則引擎的工作原理 ·優(yōu)化(能節(jié)省大量的時間) ·準確匹配期望的文本 ·針對具體語言的章節(jié) 《精通正則表達式(第3版)》,以明晰輕松的筆調(diào)向程序員深入淺出地講解復雜的知識,并給出了現(xiàn)實世界中復雜問題的解決辦法,讀者能夠立刻運用書中豐富的知識,巧妙而高效地解決各種問題。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載