正則表達式經典實例

出版時間:2010-6  出版社:人民郵電出版社  作者:[美]高瓦特斯 (Goyvaerts, Jan),[美]利維森 (Levithan, Steven)  頁數:457  譯者:郭耀  
Tag標簽:無  

前言

正則表達式在過去十多年間越來越普及。如今所有常用的編程語言都會包含一個強大的正則表達式函數庫,或者甚至是在語言本身就內嵌了對于正則表達式的支持。許多開發(fā)人員都會利用這些正則表達式的功能,在應用程序中為用戶提供使用正則表達式對其數據進行查找或者過濾的能力。正則表達式真正是無處不在。隨著正則表達式的廣泛采用,出現了許多相關的著作。大多數這類書籍都很好地講解了正則表達式的語法,并且還會提供一些例子以及參考文獻。然而,我們還沒有看到有任何一本書能夠面向現實世界中使用的計算機,以及在各種:Internet應用中遇到的實際問題,為讀者提供基于正則表達式的解決方案。因此,本書作者Steve和Jan決定寫一本書來填補這種空白。我們特別期望能夠展現給讀者的是:如何使用正則表達式來解決那些對正則表達式經驗較少的人們認為無法解決的問題,以及軟件純粹主義者認為不能用正則表達式來解決的問題。因為如今正則表達式無處不在,所以它們通??梢宰鳛楣ぞ?,直接被最終用戶使用,而不需要程序員團隊的參與。即使是對于程序員來說,常常也可以在信息檢索和更新的任務中采用一些正則表達式來節(jié)省大量時間,因為這些功能如果使用過程式代碼來實現,可能就會需要幾個小時甚至幾天的時間,也可能會由于需要采用第三方的函數庫,而不得不經過事先審查和經理層的審批。不同版本帶來的問題與IT業(yè)界流行的東西一樣,正則表達式也擁有許多種不同的實現,以及不同程度的兼容性。這就出現了許多不同的正則表達式流派(flavor),它們在處理一個特定正則表達式的時候并不總是擁有完全一樣的表現,有時候甚至會無法正常使用。在許多書中的確也提到了目前存在的不同流派,并且指出了其中的一些區(qū)別。但是,如果某種流派缺少特定功能的時候,它們通常會選擇在這里或那里略掉一些流派,而不是為之提供可替代的解決方案或者是應急方案。而當你不得不在不同的應用程序或者不同程序語言中使用不同的正則表達式流派的時候,就會感到很受挫折。

內容概要

本書講解了基于8種常用的編程語言使用正則表達式的經典實例。書中提供了上百種可以在實戰(zhàn)中使用的實例,以幫助讀者使用正則表達式來處理數據和文本。對于如何使用正則表達式來解決性能不佳、誤報、漏報等常見的錯誤以及完成一些常見的任務,本書給出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等編程語言的解決方案?! ”緯淖x者對象是對正則表達式感興趣的軟件開發(fā)人員和系統管理員。本書旨在教會讀者很多新的技巧以及如何避免語言特定的陷阱,讀者可以通過本書提供的實例解決方案庫來解決實踐中的復雜問題。

作者簡介

Jan Goyvaerts領導著Just Great Software公司,他在這個公司設計和開發(fā)了一些最流行的正則表達式軟件。他的產品中包括RegexBuddy,世界上唯一可以模擬l5種正則表達式流派特性的正則表達式編輯器,以及PowerGREP,Microsoft Windows平臺上功能最強大的9rep工具。

書籍目錄

第1章 正則表達式簡介 1.1 正則表達式的定義 1.2 使用正則表達式的工具第2章 正則表達式的基本技巧 2.1 匹配字面文本 2.2 匹配不可打印字符 2.3 匹配多個字符之一 2.4 匹配任意字符 2.5 匹配文本行起始和/或文本行結尾 2.6 匹配整個單詞 2.7 Unicode代碼點、屬性、區(qū)塊和腳本 2.8 匹配多個選擇分支之一 2.9 分組和捕獲匹配中的子串 2.10 再次匹配先前匹配的文本 2.11 捕獲和命名匹配子串 2.12 把正則表達式的一部分重復多次 2.13 選擇最小和最大重復次數 2.14 消除不必要的回溯 2.15 避免重復逃逸 2.16 檢查一個匹配,但不添加到整體匹配中 2.17 根據條件匹配兩者之一 2.18 向正則表達式中添加注釋 2.19 在替代文本中添加字面文本 2.20 在替代文本中添加正則匹配 2.21 把部分的正則匹配添加到替代文本中 2.22 把匹配上下文插入到替代文本中第3章 使用正則表達式編程 3.1 在源代碼中使用字面正則表達式 3.2 導入正則表達式函數庫 3.3 創(chuàng)建正則表達式對象 3.4 設置正則表達式選項 3.5 檢查是否可以在目標字符串中找到匹配 3.6 檢查正則表達式能否整個匹配目標字符串 3.7 獲取匹配文本 3.8 決定匹配的位置和長度 3.9 獲取匹配文本的一部分 3.10 獲取所有匹配的列表 3.11 遍歷所有匹配 3.12 在過程代碼中對匹配結果進行驗證 3.13 在另一個匹配中查找匹配 3.14 替換所有匹配  3.15 使用匹配的子串來替換匹配  3.16 使用代碼中生成的替代文本來替換匹配 3.17 替換另一個正則式匹配中的所有匹配 3.18 替換另一個正則式匹配之間的所有匹配 3.19 拆分字符串 3.20 拆分字符串,保留正則匹配 3.21 逐行查找第4章 合法性驗證和格式化 4.1 E-mail地址的合法性驗證 4.2 北美電話號碼的合法性驗證和格式化  4.3 國際電話號碼的合法性驗證 4.4 傳統日期格式的合法性驗證 4.5 對傳統日期格式進行精確的合法性驗證 4.6 傳統時間格式的合法性驗證 4.7 檢查ISO 8601格式的日期和時間 4.8 限制輸入只能為字母數字字符 4.9 限制文本長度 4.10 限制文本中的行數 4.11 肯定響應的檢查 4.12 社會安全號碼的合法性驗證  4.13 ISBN的合法性驗證 4.14 ZIP代碼的合法性驗證 4.15 加拿大郵政編碼的合法性驗證 4.16 英國郵政編碼的合法性驗證  4.17 查找使用郵局信箱的地址  4.18 轉換姓名格式  4.19 信用卡號碼的合法性驗證  4.20 歐盟增值稅代碼第5章 單詞、文本行和特殊字符  5.1 查找一個特定單詞  5.2 查找多個單詞之一  5.3 查找相似單詞  5.4 查找除某個單詞之外的任意單詞 5.5 查找后面不跟著某個特定單詞的任意單詞 5.6 查找不跟在某個特定單詞之后的任意單詞 5.7 查找臨近單詞 5.8 查找重復單詞  5.9 刪除重復的文本行  5.10 匹配包含某個單詞的整行內容  5.11 匹配不包含某個單詞的整行 5.12 刪除前導和拖尾的空格 5.13 把重復的空白替換為單個空格 5.14 對正則表達式元字符進行轉義第6章 數字 6.1 整數 6.2 十六進制數字 6.3 二進制數 6.4 刪除前導 6.5 位于某個特定范圍之內的整數 6.6 在某個特定范圍之內的十六進制數 6.7 浮點數 6.8 含有千位分隔符的數 6.9 羅馬數字第7章 URL、路徑和Internet地址 7.1 URL合法性驗證 7.2 在全文中查找URL 7.3 在全文中查找加引號的URL  7.4 在全文中尋找加括號的URL 7.5 把URL轉變?yōu)殒溄印?.6 URN合法性驗證 7.7 通用URL的合法性驗證 7.8 從URL中提取通信協議方案 7.9 從URL中抽取用戶名 7.10 從URL中抽取主機名 7.11 從URL中抽取端口號 7.12 從URL中抽取路徑 7.13 從URL中抽取查詢 7.14 從URL中抽取片段 7.15 域名合法性驗證 7.16 匹配IPv4地址 7.17 匹配IPv6地址 7.18 Windows路徑的合法性驗證 7.19 分解Windows路徑 7.20 從Windows路徑中抽取盤符 7.21 從UNC路徑中抽取服務器和共享名 7.22 從Windows路徑中抽取文件夾 7.23 從Windows路徑中抽取文件名 7.24 從Windows路徑中抽取文件擴展名  7.25 去除文件名中的非法字符 第8章 標記語言和數據交換 8.1 查找XML風格的標簽 8.2 把標簽b替換為strong 8.3 刪掉除em和strong之外的所有XML風格標簽 8.4 匹配XML名稱 8.5 添加p和br標簽將純文本轉換為HTML 8.6 在XML風格的標簽中查找某個特定屬性 8.7 向不包含cellspacing屬性的 table標簽中添加該屬性 8.8 刪除XML風格的注釋 8.9 在XML風格的注釋中查找單詞 8.10 替換在CSV文件中使用的分隔符 8.11 抽取某個特定列中的CSV域 8.12 匹配INI段頭 8.13 匹配INI段塊 8.14 匹配INI名稱-值對

章節(jié)摘錄

插圖:在這最后一章中,我們會著重講解在處理常見的標記語言時可能會遇到的常見任務,這些標記語言包括:HTMI、XHTML、XML、CSV和INI。雖然我們會假設讀者對于這些技術至少已經有了基本的了解,但是在本章開始時,我們還是會對每種語言進行簡單的介紹,以確保在進一步講解之前都站在同一起跑線上。這里的描述主要關注的是在搜索每種格式的數據結構時所需要知道的基本語法規(guī)則。當我們在后面遇到相關問題的時候,屆時會再引人更多的細節(jié)。要想準確處理和操作其中的一些格式雖然從表面上看并不總是很難,然而有時候這樣的任務會極其復雜,至少使用正則表達式來處理時是如此。如果需要完成本章中講解的許多任務,特別是當在準確性非常關鍵的時候(例如,如果你的處理過程可能會涉及系統安全),那么通常最好的選擇應當是使用專門的分析器和API,而不是采用正則表達式。然而,這些實例依然介紹了許多有用的技巧,并且可以用于許多需要快速處理的任務。因此,我們先來看一下要處理的到底是什么東西。在本章中會遇到的許多困難都涉及如何處理與下列規(guī)則不一致的情形,這其中可能是可以預期的情形,也可能是無法預期的情形。

媒體關注與評論

“這是一本嚴謹的著作,內容非常豐富。僅僅閱讀前幾章我就學到了大量的新技巧。”  ——Nikolaj Lindberg 計算語言學家sTTs語音技術服務公司“本書為緊迫的問題提供了很好的解決方案。對于實例中所包含的細節(jié)我感到非常震驚。”  ——Zak Greant 開放技術倡導者和策略專家Jan Goyvaerts領導專家

編輯推薦

《正則表達式經典實例》:每個程序員都會遇到需要使用正則表達式的情況,但是要用好正則表達式卻并不容易?!墩齽t表達式經典實例》提供了100多個實例,以幫助讀者使用正則表達式處理數據和文本。即使有經驗的用戶也經常會遇到性能不佳、誤報、漏報等讓人撓頭的錯誤,《正則表達式經典實例》對于如何使用正則表達式來解決一些常見的問題給出了按部就班的解決方案,其中包括C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET的實例?!墩齽t表達式經典實例》主要包括以下內容:通過一個精練的教程理解正則表達式的基本原理和技巧;在不同的編程語言和腳本語言中有效使用正則表達式;學習如何對輸入進行合法性檢查和格式化;處理單詞、文本行、特殊字符和數值;學習如何在uRL、路徑、標記語言和數據交換中使用正則表達式;學習更高深的正則表達式特性中的微妙之處;理解在不同語言中正則表達式的API、語法和行為之間的區(qū)別;創(chuàng)建更好的正則表達式來滿足個性化的需求。使用8種編程語言的詳細解決方案,包括一個正則表達式簡明教程

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    正則表達式經典實例 PDF格式下載


用戶評論 (總計38條)

 
 

  •   正則表達式的詳細講解,很不錯,多腳本語言示例!我很喜歡!
  •   最近在學習正則表達式,從網絡上搜集了不少資料,但是都沒有系統介紹,直到看到這本書,比較全面,而且表述的相當容易理解,好資料,推薦一下。
  •   O'reilly的書,還沒有看到有哪本不好。本書是正則表達式的Cookbook,同樣也繼承了O'reilly cookbook系列工具書的衣缽。買了絕對不會讓你后悔。
  •   比<<精通正則表達式>>更通俗易懂,把這本書細致的學完就能達到專業(yè)水平了!
  •   正則表達式的精品, 很專業(yè)
  •   內容與書名不符,以為有實例,結果全是羅七八嗦的東西,純粹是扯蛋的東西
  •   覆蓋多個語言,只是可惜沒有tcl的
  •   這本書還是非常有用的,一個程序員不會Regular Expression不合適啊。。。
  •   該書內容經典,實用!不愧是O&#39;Reilly出版的書。
  •   講的比較細膩,蠻好的
  •   強大的工具
  •   無論書的內容質量,還是紙張質量都非常不錯。
  •   內容非常的不錯。我非常的喜歡。
  •   發(fā)貨很快,收到了
  •   長見識,很多可以參考!??!
  •   例子講得比較細,有一定的借鑒。
  •   有基礎的可以買來當參考書
  •   正則表達式是程序員必備技能
  •   主要是有java的描述,內容還是很齊全的,作為工具書備用。
  •   總的來說,書挺好的,值得一看
  •   內頁的紙張有些臟,但書內容還不錯 喜歡
  •   最近一直都沒有時間看,紙張質量還可以,正版
  •   我自我覺翻譯的不是太好,看的不是太明白
  •   想買本正則的書,看到了兩本,還有一本是國人寫的,覺得老外寫的比較好一點,然后就買了這本,哪知道寫得莫名其妙,不知道作者要表達什么,也許是翻譯得不好吧,學正則還不如在網上學呢,多看幾個例子就可以了
  •   翻譯質量很差
  •   因為仔細的 閱讀過《精通正則表達式》,所以,這本書的示例就顯得不是那么的吸引我。每個內容都講述了多個語言的正則實現方法,基本沒有太多的實踐性,倒是為了鞏固正則,可以作為參考
  •   還沒看,在工作中查閱使用
  •   與 精通正則表達式 相比,寫得比較系統,實用。文筆相形就不如Jeffrey了。
  •   一本工作手冊,買了必要時候可以翻閱
  •   書的質量很好,提供了多種語言支持。工作中正好要用到C#/JAVA兩種語言的正則編寫方法。書中的內容很到位,很有幫助。
  •   才發(fā)現這本書是《正則表達式Cookbook(影印版) 》的中文版。差點買重了。
  •   書中講解很詳細,實用性強。我用的是Java,已經應用到目前的工作上了!
  •   還不錯 就是書有點舊 都破了
  •   這個正則才是想學習很久
  •   書很好,但是
  •   還行吧,有難度
  •   商品沒有問題,書很實用
  •   果然如千人所說
 

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

京ICP備13047387號-7