注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具精通正則表達(dá)式(第3版)

精通正則表達(dá)式(第3版)

精通正則表達(dá)式(第3版)

定 價(jià):¥85.00

作 者: (美)佛瑞德(Friedl,J.E.F.) 著,余晟 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 方法

ISBN: 9787121046841 出版時(shí)間: 2007-07-01 包裝: 平裝
開本: 16 頁數(shù): 515 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  隨著互聯(lián)網(wǎng)的迅速發(fā)展,幾乎所有工具軟件和程序語言都支持的正則表達(dá)式也變得越來越強(qiáng)大和易于使用?!毒ㄕ齽t表達(dá)式(第3版)》是講解正則表達(dá)式的經(jīng)典之作?!毒ㄕ齽t表達(dá)式(第3版)》主要講解了正則表達(dá)式的特性和流派、匹配原理、優(yōu)化原則、實(shí)用訣竅以及調(diào)校措施,并詳細(xì)介紹了在Perl、Java、.NET、PHP中正則表達(dá)式的用法?!毒ㄕ齽t表達(dá)式(第3版)》自第1版開始著力于教會(huì)讀者 “以正則表達(dá)式來思考”,來讓讀者真正“精通”正則表達(dá)式。該版對(duì)PHP的相關(guān)內(nèi)容、Java1.5和Java1.6的新特性作了可觀的擴(kuò)充講解。任何有機(jī)會(huì)使用正則表達(dá)式的讀者都將因《精通正則表達(dá)式(第3版)》而受益匪淺。

作者簡(jiǎn)介

  Jeffrey E.F.Friedl生長(zhǎng)于俄亥俄州Rootstown的鄉(xiāng)村,小時(shí)候希望成為天文學(xué)家,直到有一天他發(fā)現(xiàn)了閑置在化學(xué)實(shí)驗(yàn)室角落里的TRS-80 Model I(裝備了整整16KB RAM)。1980年他終于開始使用Unix(和正則表達(dá)式)。在肯特(Kent)大學(xué)和新罕布什爾(New Hampshire)大學(xué)分別獲得計(jì)算機(jī)學(xué)士和碩士學(xué)位之后,他在日本京都工作了8年,為歐姆龍公司(Omron Corporation)進(jìn)行核心開發(fā),1997年遷居硅谷,在當(dāng)時(shí)還不為人知的Yahoo!用正則表達(dá)式處理財(cái)經(jīng)新聞和數(shù)據(jù)。2004年4月他偕妻兒返回京都。Friedl的閑暇時(shí)間很充裕,這時(shí)候他喜歡與妻子Fumie和3歲的活蹦亂跳的兒子Anthony一起。他還喜歡拍攝遍布京都的美景,照片在他的blog上:http://regex.info/blog。

圖書目錄

前言
第1章正則表達(dá)式入門
解決實(shí)際問題
作為編程語言的正則表達(dá)式
以文件名做類比
以語言做類比
正則表達(dá)式的思維框架
對(duì)于有部分經(jīng)驗(yàn)的讀者
檢索文本文件:Egrep
Egrep元字符
行的起始和結(jié)束
字符組
用點(diǎn)號(hào)匹配任意字符
多選結(jié)構(gòu)
忽略大小寫
單詞分界符
小結(jié)
可選項(xiàng)元素
其他量詞:重復(fù)出現(xiàn)
括號(hào)及反向引用
神奇的轉(zhuǎn)義
基礎(chǔ)知識(shí)拓展
語言的差異
正則表達(dá)式的目標(biāo)
更多的例子
正則表達(dá)式術(shù)語匯總
改進(jìn)現(xiàn)狀
總結(jié)
一家之言
第2章入門示例拓展
關(guān)于這些例子
Perl簡(jiǎn)單入門
使用正則表達(dá)式匹配文本
向?qū)嵱玫某绦蚯斑M(jìn)
成功匹配的副作用
錯(cuò)綜復(fù)雜的正則表達(dá)式
暫停片刻
使用正則表達(dá)式修改文本
例子:公函生成程序
舉例:修整股票價(jià)格
自動(dòng)的編輯操作
處理郵件的小工具
用環(huán)視功能為數(shù)值添加逗號(hào)
Text-to-HTML轉(zhuǎn)換
回到單詞重復(fù)問題
第3章正則表達(dá)式的特性和流派概覽
在正則的世界中漫步
正則表達(dá)式的起源
最初印象
正則表達(dá)式的注意事項(xiàng)和處理方式
集成式處理
程序式處理和面向?qū)ο笫教幚?br />查找和替換
其他語言中的查找和替換
注意事項(xiàng)和處理方式:小結(jié)
字符串,字符編碼和匹配模式
作為正則表達(dá)式的字符串
字符編碼
Unicode
正則模式和匹配模式
常用的元字符和特性
字符表示法
字符組及相關(guān)結(jié)構(gòu)
錨點(diǎn)及其他“零長(zhǎng)度斷言”
注釋和模式量詞
分組,捕獲,條件判斷和控制
高級(jí)話題引導(dǎo)
第4章:表達(dá)式的匹配原理
發(fā)動(dòng)引擎
兩類引擎
新的標(biāo)準(zhǔn)
正則引擎的分類
幾句題外話
測(cè)試引擎的類型
匹配的基礎(chǔ)
關(guān)于范例
規(guī)則1:優(yōu)先選擇最左端的匹配結(jié)果
引擎的構(gòu)造
規(guī)則2:標(biāo)準(zhǔn)量詞是匹配優(yōu)先的
表達(dá)式主導(dǎo)與文本主導(dǎo)
NFA引擎:表達(dá)式主導(dǎo)
DFA引擎:文本主導(dǎo)
第一想法:比較NFA與DFA
回溯
真實(shí)世界中的例子:面包屑
回溯的兩個(gè)要點(diǎn)
備用狀態(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)的價(jià)值
NFA、DFA和POSIX
最左最長(zhǎng)規(guī)則
POSIX和最左最長(zhǎng)規(guī)則
速度和效率
小結(jié):NFA與DFA的比較
總結(jié)
第5章:正則表達(dá)式實(shí)用技巧
正則表達(dá)式的平衡法則
若干簡(jiǎn)單的例子
匹配連續(xù)行(續(xù)前)
匹配IP地址
處理文件名
匹配對(duì)稱的括號(hào)
防備不期望的匹配
匹配分隔符之內(nèi)的文本
了解數(shù)據(jù),做出假設(shè)
去除文本首尾的空白字符
HTML相關(guān)范例
匹配HTMLTag
匹配HTMLLink
檢查HTTPURL
驗(yàn)證主機(jī)名
在真實(shí)世界中提取URL
擴(kuò)展的例子
保持?jǐn)?shù)據(jù)的協(xié)調(diào)性
解析CSV文件
第6章:打造高效正則表達(dá)式
典型示例
稍加修改——先邁最好使的腿
效率vs準(zhǔn)確性
繼續(xù)前進(jìn)——限制匹配優(yōu)先的作用范圍
實(shí)測(cè)
全面考查回溯
POSIXNFA需要更多處理
無法匹配時(shí)必須進(jìn)行的工作
看清楚一點(diǎn)
多選結(jié)構(gòu)的代價(jià)可能很高
性能測(cè)試
理解測(cè)量對(duì)象
PHP測(cè)試
Java測(cè)試
VB.NET測(cè)試
Ruby測(cè)試
Python測(cè)試
Tcl測(cè)試
常見優(yōu)化措施
有得必有失
優(yōu)化各有不同
正則表達(dá)式的應(yīng)用原理
應(yīng)用之前的優(yōu)化措施
通過傳動(dòng)裝置進(jìn)行優(yōu)化
優(yōu)化正則表達(dá)式本身
提高表達(dá)式速度的訣竅
常識(shí)性優(yōu)化
將文字文本獨(dú)立出來
將錨點(diǎn)獨(dú)立出來
忽略優(yōu)先還是匹配優(yōu)先?具體情況具體分析
拆分正則表達(dá)式
模擬開頭字符識(shí)別
使用固化分組和占有優(yōu)先量詞
主導(dǎo)引擎的匹配
消除循環(huán)
方法1:依據(jù)經(jīng)驗(yàn)構(gòu)建正則表達(dá)式
真正的“消除循環(huán)”解法
方法2:自頂向下的視角
方法3:匹配主機(jī)名
觀察
使用固化分組和占有優(yōu)先量詞
簡(jiǎn)單的消除循環(huán)的例子
消除C語言注釋匹配的循環(huán)
流暢運(yùn)轉(zhuǎn)的表達(dá)式
引導(dǎo)匹配的工具
引導(dǎo)良好的正則表達(dá)式速度很快完工
總結(jié):開動(dòng)你的大腦
第7章:Perl
作為語言組件的正則表達(dá)式
Perl的長(zhǎng)處
Perl的短處
Perl的正則流派
正則運(yùn)算符和正則文字
正則文字的解析方式
正則修飾符
正則表達(dá)式相關(guān)的Perl教義
表達(dá)式應(yīng)用場(chǎng)合
動(dòng)態(tài)作用域及正則匹配效應(yīng)
匹配修改的特殊變量
qr//運(yùn)算符與regex對(duì)象
構(gòu)建和使用regex對(duì)象
探究regex對(duì)象
用regex對(duì)象提高效率
Match運(yùn)算符
Match的正則運(yùn)算元
指定目標(biāo)運(yùn)算元
Match運(yùn)算符的不同用途
迭代匹配:ScalarContext,不使用/g
Match運(yùn)算符與環(huán)境的關(guān)系
Substitution運(yùn)算符
運(yùn)算元replacement
/e修飾符
應(yīng)用場(chǎng)合與返回值
Split運(yùn)算符
Split基礎(chǔ)知識(shí)
返回空元素
Split中的特殊Regex運(yùn)算元
Split中帶捕獲型括號(hào)的match運(yùn)算元
巧用Perl的專有特性
用動(dòng)態(tài)正則表達(dá)式結(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)
正則文字重載
正則文字重載的問題
模擬命名捕獲
效率
辦法不只一種
表達(dá)式編譯、/o修飾符、qr/···/和效率
理解“原文”副本
Study函數(shù)
性能測(cè)試
正則表達(dá)式調(diào)試信息
結(jié)語
第8章:Java
Java的正則流派
Java對(duì)\p{}和\P{}的支持
Unicode行終結(jié)符
使用java.util.regex
ThePattern.compile()Factory
Pattern的matcher方法
Matcher對(duì)象
應(yīng)用正則表達(dá)式
查詢匹配結(jié)果
簡(jiǎn)單查找-替換
高級(jí)查找-替換
原地查找-替換
Matcher的檢索范圍
方法鏈
構(gòu)建掃描程序
Matcher的其他方法
Pattern的其他方法
Pattern的split方法,單個(gè)參數(shù)
Pattern的split方法,兩個(gè)參數(shù)
拓展示例
為ImageTag添加寬度和高度屬性
對(duì)于每個(gè)Matcher,使用多個(gè)Pattern校驗(yàn)HTML
解析CSV文檔
Java版本差異
1.4.2 和1.5.0之間的差異
1.5.0和1.6 之間的差異
第9章:.NET
.NET的正則流派
對(duì)于流派的補(bǔ)充
使用.NET正則表達(dá)式
正則表達(dá)式快速入門
包概覽
核心對(duì)象概覽
核心對(duì)象詳解
創(chuàng)建Regex對(duì)象
使用Regex對(duì)象
使用Match對(duì)象
使用Group對(duì)象
靜態(tài)“便捷”函數(shù)
正則表達(dá)式緩存
輔助函數(shù)
.NET高級(jí)話題
正則表達(dá)式裝配件
匹配嵌套結(jié)構(gòu)
Capture對(duì)象
第10章:PHP
PHP的正則流派
Preg函數(shù)接口
“Pattern”參數(shù)
Preg函數(shù)羅列
preg_match
preg_match_all
preg_replace
preg_replace_callback
preg_split
preg_grep
preg_quote
“缺失”的preg函數(shù)
preg_regex_to_pattern
對(duì)未知的Pattern參數(shù)進(jìn)行語法檢查
對(duì)未知正則表達(dá)式進(jìn)行語法檢查
遞歸的正則表達(dá)式
匹配嵌套括號(hào)內(nèi)的文本
不能回溯到遞歸調(diào)用之內(nèi)
匹配一組嵌套的括號(hào)
PHP效率
模式修飾符S:“研究”
擴(kuò)展示例
用PHP解析CSV
檢查taggeddata的嵌套正確性
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)