正則表達式是一種威力無比強大的武器,幾乎在所有的語言和平臺上都可以用它來執(zhí)行各種復雜的文本處理和操作。本書從簡單的文本匹配開始,循序漸進地介紹了很多復雜內容,包括反向引用、條件評估、環(huán)視等。每章都配有許多簡明實用的示例,有助于全面、系統(tǒng)、快速掌握正則表達式,并運用它們解決實際問題。
作為一種威力無比強大的武器,正則表達式可以在幾乎所有語言和平臺上執(zhí)行各種復雜的文本處理和操作。
●閱讀并理解正則表達式
●使用字面文本和元字符來構建強大的搜索模式
●利用向前查看和反向引用等高級正則表達式特性
●在所有主流的專業(yè)編輯工具中執(zhí)行強大的搜索和替換操作
●為Web應用程序添加復雜的表單和文本處理
●使用grep和egrep等命令行工具搜索文件
●在編程語言和數據庫中使用正則表達式
●電話號碼、IP地址、URL、電子郵件地址等常見問題的正則表達式解決方案
Ben Forta,技術作家,Adobe技術界知名學者,擁有三十多年計算機領域從業(yè)經驗,目前擔任Adobe公司教育計劃高級主管。他撰寫的《SQL必知必會》《MySQL必知必會》等書因短小精悍、可快速入手而備受讀者好評,已被翻譯為十幾種文字,成為經典暢銷書。
【主要譯者】
門佳,GNU/Linux深度用戶,喜歡溯本求源,挖掘技術背后的來龍去脈,對程序語言設計理論、編譯技術、操作系統(tǒng)設計與實現、Web開發(fā)等領域均有涉獵,譯著包括《TCP Sockets編程》《精通JavaScript(第2版)》《Linux命令行與shell腳本編程大全(第3版)》《Linux Shell腳本攻略》《shell腳本實戰(zhàn)(第2版)》等。
第 1 章 正則表達式入門 1
1.1 正則表達式的用途 1
1.2 如何使用正則表達式 2
1.2.1 用正則表達式進行搜索 3
1.2.2 用正則表達式進行替換 3
1.3 什么是正則表達式 4
1.4 使用正則表達式 5
1.5 在繼續(xù)學習之前 5
1.6 小結 6
第 2 章 匹配單個字符 7
2.1 匹配普通文本 7
2.1.1 有多少個匹配結果 8
2.1.2 字母的大小寫問題 9
2.2 匹配任意字符 9
2.3 匹配特殊字符 13
2.4 小結 15
第 3 章 匹配一組字符
3.1 匹配多個字符中的某一個 16
3.2 利用字符集合區(qū)間 19
3.3 排除 23
3.4 小結 24
第 4 章 使用元字符 25
4.1 再談轉義 25
4.2 匹配空白字符 28
4.3 匹配特定的字符類型 30
4.3.1 匹配數字(與非數字) 30
4.3.2 匹配字母數字(與非字母數字) 31
4.3.3 匹配空白字符(與非空白字符) 33
4.3.4 匹配十六進制或八進制數值 33
4.4 使用POSIX字符類 34
4.5 小結 36
第 5 章 重復匹配 37
5.1 有多少個匹配 37
5.1.1 匹配一個或多個字符 38
5.1.2 匹配零個或多個字符 41
5.1.3 匹配零個或一個字符 42
5.2 匹配的重復次數 44
5.2.1 具體的重復匹配 45
5.2.2 區(qū)間范圍 46
5.2.3 匹配至少重復多少次 48
5.3 防止過度匹配 49
5.4 小結 51
第 6 章 位置匹配 52
6.1 邊界 52
6.2 單詞邊界 53
6.3 字符串邊界 55
6.4 小結 60
第 7 章 使用子表達式 61
7.1 理解子表達式 61
7.2 使用子表達式進行分組 62
7.3 子表達式的嵌套 66
7.4 小結 68
第 8 章 反向引用 69
8.1 理解反向引用 69
8.2 反向引用匹配 72
8.3 替換操作 75
8.4 小結 79
第 9 章 環(huán)視 80
9.1 環(huán)視簡介 80
9.2 向前查看 81
9.3 向后查看 83
9.4 結合向前查看和向后查看 86
9.5 否定式環(huán)視 86
9.6 小結 89
第 10 章 嵌入式條件 90
10.1 為什么要嵌入條件 90
10.2 正則表達式里的條件 91
10.2.1 反向引用條件 91
10.2.2 環(huán)視條件 94
10.3 小結 96
第 11 章 常見問題的正則表達式解決方案 97
11.1 北美電話號碼 97
11.2 美國ZIP編碼 99
11.3 加拿大郵政編碼 100
11.4 英國郵政編碼 101
11.5 美國社會安全號碼 102
11.6 IP地址 103
11.7 URL 103
11.8 完整的URL 105
11.9 電子郵件地址 106
11.10 HTML注釋 106
11.11 JavaScript注釋 107
11.12 信用卡號碼 108
11.13 小結 113
附錄 A 常見應用軟件和編程語言中的正則表達式 114