精通正則表達式

《精通正則表達式》從正則表達式的基本概念、基本語法入手,著重介紹了正則表達式在數字驗證、字元串驗證、數字和字元串混合驗證、HTML處理等各個方面的套用。

基本信息

內容簡介

精通正則表達式精通正則表達式
本書適合廣大Web網站開發人員、網站管理維護人員和大中專院校學生閱讀,尤其適合從事與字元串處理相關工作的Web編程技術人員參考。

目錄

第一篇 正則表達式基礎

第1章 正則表達式概述 3
1.1 什麼是正則表達式 3
1.2 第一個正則表達式 4
1.3 測試工具 5
第2章 正則表達式基礎理論 7
2.1 元字元 7
2.1.1 匹配位置的元字元 8
2.1.2 匹配字元的元字元 8
2.1.3 元字元總結 9
2.2 字元類 12
2.3 字元轉義 14
2.4 反義 14
2.5 限定符 15
2.6 替換 21
2.7 分組 23
2.8 後向引用 24
2.9 零寬度斷言 25
2.10 負向零寬度斷言 27
2.11 匹配選項 27
2.12 注釋 28
2.13 優先權順序 28
2.14 遞歸匹配 29
2.15 典型正則表達式解釋 30
第3章 數字驗證 33
3.1 數值驗證 33
3.1.1 只包含數字 33
3.1.2 整數驗證 37
3.1.3 指定範圍的整數驗證 38
3.1.4 實數驗證 42
3.1.5 指定精度的實數驗證 45
3.1.6 科學計數法的數值驗證 45
3.1.7 二進制數值驗證 46
3.1.8 八進制數值驗證 47
3.1.9 十六進制數值驗證 49
3.2 電話號碼驗證 50
3.2.1 手機號碼驗證 50
3.2.2 固定電話號碼(不包括區號)驗證 51
3.2.3 “區號+固定電話號碼”驗證 53
3.2.4 “區號+固定電話號碼+分機號碼”驗證 54
3.2.5 固定電話號碼驗證總結 55
3.3 郵政編碼驗證 57
3.3.1 國內郵政編碼驗證 57
3.3.2 國際郵政編碼驗證 57
3.4 IP位址驗證 58
3.4.1 簡單IP位址驗證 58
3.4.2 精確IP位址驗證 59
3.4.3 子網內部IP位址驗證 60
3.4.4 64位IP位址驗證 61
3.5 身份證驗證 63
3.5.1 15位身份證號碼驗證 63
3.5.2 18位身份證號碼驗證 64
3.6 銀行卡號驗證 65
3.6.1 銀行卡號驗證 65
3.6.2 信用卡卡號驗證 65
3.6.3 中國建設銀行卡號驗證 66
3.6.4 中國工商銀行卡號驗證 66
3.6.5 中國農業銀行卡號驗證 66
第4章 字元串驗證 67
4.1 英文單詞驗證 67
4.1.1 小寫單詞驗證 67
4.1.2 大寫英文單詞驗證 68
4.1.3 英文單詞的分隔符驗證 69
4.1.4 不包含驗證 71
4.1.5 具有重複特徵的英文單詞驗證 74
4.2 檔案名稱稱和檔案路徑驗證 76
4.2.1 通配符 76
4.2.2 指定檔案擴展名的驗證 76
4.2.3 指定檔案名稱的驗證 77
4.2.4 包含指定字元串的檔案全名驗證 78
4.2.5 排除兩端存在空白字元的檔案全名驗證 79
4.2.6 檔案路徑驗證 81
4.3 網路常用元素驗證 82
4.3.1 電子郵件驗證 82
4.3.2 主機名稱驗證 83
4.3.3 HTTP地址驗證 85
4.3.4 FTP地址驗證 86
4.4 非單詞字元串驗證 86
4.4.1 英文標點符號驗證 87
4.4.2 中文標點符號驗證 87
4.4.3 中文文本驗證 88
4.4.4 特殊字元驗證 88
4.4.5 密碼驗證 89
4.4.6 字元表的分類 93
第5章 數字和字元混合驗證 95
5.1 日期和時間驗證 95
5.1.1 年驗證 95
5.1.2 月驗證 96
5.1.3 日驗證 97
5.1.4 年月日格式的日期驗證 98
5.1.5 24小時制時分秒格式的時間驗證 99
5.1.6 12小時制時分秒格式的時間驗證 100
5.1.7 帶毫秒的時間驗證 102
5.1.8 長格式的日期和時間驗證 103
5.2 通用車牌號碼驗證 104
5.3 數學表達式驗證 106
5.3.1 運算元驗證 106
5.3.2 操作符驗證 107
5.3.3 簡單數學表達式驗證 107
5.3.4 只含運算元和操作符的數學表達式驗證 108
5.3.5 含小括弧的數學表達式驗證 109
5.4 編碼規範驗證 111
5.4.1 類名稱驗證 111
5.4.2 聲明變數表達式驗證 112
5.4.3 函式名稱驗證 112
5.4.4 聲明函式表達式驗證 113
第6章 驗證和處理HTML元素 117
6.1 HTML元素驗證基礎 117
6.1.1 HTML標記驗證 117
6.1.2 非封閉HTML標記驗證 119
6.1.3 封閉HTML標記驗證 119
6.1.4 屬性賦值表達式驗證 120
6.1.5 HTML中的注釋驗證 124
6.1.6 HTML中的腳本代碼塊驗證 125
6.2 非封閉的HTML元素驗證 126
6.3 封閉的HTML元素驗證 127
6.4 br 元素驗證 128
6.5 hr 元素驗證 130
6.6 a 元素驗證 133
6.7 input 元素驗證 137
6.8 處理HTML元素 139
6.8.1 提取HTML標記 139
6.8.2 提取HTML標記之間的內容 140
6.8.3 提取URL 141
6.8.4 提取圖像的URL 142
6.8.5 提取HTML頁面的標題 142

第二篇中正則表達式的套用

第7章 C#常用數據類型檢查與轉換 147
7.1 數值數據類型檢查與轉換 147
7.1.1 整數檢查 147
7.1.2 實數檢查 149
7.1.3 整數和字元串之間的轉換 150
7.1.4 浮點數和字元串之間的轉換 151
7.2 布爾數據類型檢查與轉換 153
7.2.1 布爾值檢查 153
7.2.2 布爾值和字元串之間的轉換 153
7.3 時間數據類型檢查與轉換 154
7.3.1 時間數據類型檢查 154
7.3.2 時間和字元串之間的轉換 155
7.4 數據類型檢查與轉換套用實例 156
第8章 字元串處理 158
8.1 不變字元串String處理 158
8.1.1 String類和對象 158
8.1.2 插入字元串 159
8.1.3 刪除字元串 160
8.1.4 替換字元串 160
8.1.5 分割字元串 161
8.1.6 填充字元串 161
8.1.7 比較字元串 162
8.1.8 連線字元串 163
8.1.9 處理字元串中的空白 165
8.1.10 轉換字元串大小寫 165
8.1.11 匹配和檢索字元串 166
8.1.12 獲取子字元串 168
8.1.13 格式化字元串 169
8.1.14 編碼字元串 169
8.1.15 不可變字元串String處理的套用 170
8.2 可變字元串StringBuilder處理 172
8.2.1 StringBuilder類和對象 172
8.2.2 追加字元串 172
8.2.3 插入字元串 174
8.2.4 刪除字元串 176
8.2.5 替換字元串 176
8.2.6 複製字元串 177
8.2.7 處理字元串容量 178
8.2.8 可變字元串StringBuilder處理的套用 179
第9章 .NET框架中正則表達式的套用 181
9.1 .NET框架中的正則表達式類庫 181
9.1.1 System.Text.RegularExpressions名字空間 181
9.1.2 正則表達式類RegEx 182
9.1.3 正則表達式選項 183
9.1.4 檢查是否匹配表達式 183
9.1.5 匹配單個匹配項 185
9.1.6 匹配多個匹配項 186
9.1.7 替換 188
9.1.8 使用委託MatchEvaluator處理匹配結果 189
9.1.9 獲取分組名稱 190
9.1.10 分割表達式 190
9.2 使用正則表達式類Regex處理字元串 191
9.2.1 只包含數字驗證 191
9.2.2 整數驗證 191
9.2.3 實數驗證 192
9.2.4 電話號碼驗證 192
9.2.5 郵政編碼驗證 192
9.2.6 身份證號碼驗證 192
9.2.7 銀行卡號驗證 193
9.2.8 日期和時間驗證 193
9.2.9 車牌號碼驗證 193
9.2.10 IP位址驗證 194
9.2.11 電子郵件驗證 194
9.2.12 URL驗證 194
9.2.13 提取網頁標題 194
9.2.14 提取網頁中的HTTP地址 196
9.2.15 提取網頁中的圖像地址 197
第10章 數據驗證 199
10.1 驗證概述 199
10.2 非空驗證 201
10.2.1 無初始值的非空驗證 201
10.2.2 指定初始值的驗證 202
10.3 範圍驗證 203
10.3.1 整數範圍驗證 203
10.3.2 字母範圍驗證 204
10.3.3 日期範圍驗證 205
10.4 比較驗證 206
10.4.1 兩個控制項內容的比較驗證 206
10.4.2 指定的值和控制項內容的比較驗證 207
10.4.3 檢查控制項內容的數據類型 208
10.5 正則表達式驗證 209
10.5.1 整數驗證 209
10.5.2 數值驗證 210
10.5.3 電話號碼驗證 211
10.5.4 身份證號碼驗證 212
10.5.5 日期和時間驗證 213
10.5.6 電子郵件驗證 214
10.5.7 URL驗證 215
10.6 自定義驗證 217
10.6.1 自定義伺服器端驗證 217
10.6.2 自定義客戶端驗證 218
10.7 顯示驗證摘要 219
10.7.1 在網頁上顯示驗證摘要 220
10.7.2 在對話框上顯示驗證摘要 220

第三篇 ASP中正則表達式的套用

第11章 ASP數據類型及其轉換 225
11.1 VBScript數據類型 225
11.2 VBScript數據類型判斷 226
11.2.1 判斷變數是否為數組 226
11.2.2 判斷變數是否為日期 227
11.2.3 判斷變數是否為空 228
11.2.4 判斷變數是否為空值 228
11.2.5 判斷變數是否為數值 229
11.2.6 判斷變數是否為對象 230
11.2.7 獲取變數的子類型 231
11.2.8 獲取變數的類型信息 231
第12章 ASP字元串處理 233
12.1 字元串截取、組合 233
12.1.1 獲取字元串長度 233
12.1.2 正向截取字元串 234
12.1.3 反向截取字元串 234
12.1.4 從中截取字元串 235
12.1.5 刪除字元串前導空格 236
12.1.6 刪除字元串後導空格 236
12.1.7 刪除字元串前後導空格 237
12.1.8 將數組元素連線為字元串 238
12.1.9 切分字元串 238
12.2 字元串查找、替換 239
12.2.1 正向查找字元串 239
12.2.2 反向查找字元串 241
12.2.3 字元串替換 242
12.3 字元串轉化 243
12.3.1 字元串小寫轉化 243
12.3.2 字元串大寫轉化 244
12.3.3 字元串倒序排列 245
12.3.4 構造指定元素的字元串 246
12.3.5 構造空格字元串 247
第13章 ASP中正則表達式的套用 248
13.1 正則表達式對象RegExp概述 248
13.1.1 創建正則表達式對象 248
13.1.2 指定正則表達式 248
13.1.3 進行正則匹配檢驗 249
13.2 提高匹配效率 250
13.2.1 設定匹配範圍 250
13.2.2 指定忽略大小寫 250
13.2.3 進行正則匹配替換 251
13.3 匹配集合Matches 252
13.3.1 獲取Matches集合 252
13.3.2 Matches集合與Match對象 253

第四篇 PHP中正則表達式的套用

第14章 PHP數據類型及其轉換 259
14.1 PHP常見數據類型 259
14.1.1 布爾型 259
14.1.2 NULL型 260
14.1.3 整型 260
14.1.4 浮點型 260
14.1.5 字元串 260
14.1.6 數組 262
14.1.7 對象 263
14.2 類型轉換 264
14.2.1 變數類型變化 264
14.2.2 強制類型轉換 266
14.2.3 字元串轉換 268
14.2.4 數值轉換 269
14.2.5 數組轉換 269
第15章 PHP字元串處理 270
15.1 字元串分析 270
15.1.1 訪問字元串中的字元 270
15.1.2 處理子字元串 271
15.1.3 分割字元串 273
15.2 字元串的整理 275
15.2.1 刪除字元串的空白 275
15.2.2 字元串的填充 276
15.2.3 字元串大小寫的轉換 277
15.2.4 字元串的反轉 278
15.3 字元串的比較 278
15.3.1 按ASCII碼順序比較 278
15.3.2 按“自然排序”法比較 280
15.3.3 按相似性比較 281
15.4 字元串的查找和替換 282
15.4.1 查找字元串 282
15.4.2 替換字元串 283
15.5 字元串的格式化 286
15.5.1 格式化數字 286
15.5.2 格式化字元串 286
15.6 處理HTML和URL 288
15.6.1 HTML實體的處理 288
15.6.2 HTML標籤的清理 290
15.6.3 URL字元串的解析 291
15.6.4 URL編碼處理 293
15.6.5 查詢字元串的構造 293
第16章 PHP中正則表達式的套用 295
16.1 POSIX擴展庫正則表達式函式 295
16.1.1 模式匹配 295
16.1.2 模式替換 297
16.1.3 模式分割 297
16.2 pcre庫的正則表達式函式 298
16.2.1 進行正則表達式匹配 298
16.2.2 取得正則表達式的全部匹配 299
16.2.3 返回與模式匹配的數組單元 300
16.2.4 正則表達式的替換 300
16.2.5 正則表達式的拆分 301
16.3 PHP與正則表達式的綜合套用 302
16.3.1 表單驗證 302
16.3.2 UBB代碼 306
16.3.3 分析Apache日誌檔案 310

第五篇 JSP中正則表達式的套用

第17章 JSP中數據類型及其轉化 317
17.1 JSP中的常用數據類型 317
17.1.1 整數類型 317
17.1.2 浮點類型 320
17.1.3 字元類型 321
17.1.4 布爾類型 322
17.1.5 字元串類型 323
17.2 JSP中數據類型的轉換 325
17.2.1 自動類型轉換 325
17.2.2 強制類型轉換 326
17.3 JSP中字元串數據的處理 327
17.3.1 字元串與其他類型數據的轉換 327
17.3.2 字元串的分析 329
17.3.3 字元串的查找與替換 330
17.3.4 字元串數據的整理 332
17.3.5 字元串的比較 333
17.3.6 字元串的連線 334
17.3.7 字元串的格式化 335
第18章 JSP中正則表達式套用 337
18.1 JSP中的正則表達式函式 337
18.1.1 Pattern類 337
18.1.2 Matcher類 339
18.1.3 正則表達式常用的4種功能 342
18.2 JSP中正則表達式的常見套用示例 346
18.2.1 電子郵件地址的校驗 346
18.2.2 URL地址的校驗 348
18.2.3 電話號碼的校驗 349

第六篇 JavaScript中正則表達式的套用

第19章 JavaScript數據類型及其轉換 353
19.1 JavaScript數據類型 353
19.1.1 數字類型 353
19.1.2 字元串類型 354
19.1.3 布爾值類型 355
19.2 數據類型轉換 356
19.2.1 基本數據類型轉換 356
19.2.2 將字元串轉換為整數 356
19.2.3 將字元串轉換為浮點數 356
第20章 JavaScript字元串和數組 357
20.1 字元串格式處理 357
20.1.1 獲取字元串的長度 357
20.1.2 根據指定的Unicode編碼返回一個字元串 358
20.1.3 比較兩個字元串的大小 358
20.1.4 將字元串分割並存儲到數組中 359
20.1.5 將字元串轉換為小寫格式 360
20.1.6 將字元串轉換為大寫格式 360
20.2 字元串截取、組合 361
20.2.1 返回字元串中指定位置處的字元 361
20.2.2 獲取指定位置字元的Unicode編碼 362
20.2.3 將一個或多個字元串連線到當前字元串的末尾 364
20.2.4 從字元串中提取子串(1) 364
20.2.5 從字元串中提取子串(2) 365
20.2.6 從字元串中提取子串(3) 366
20.3 字元串查找、替換 367
20.3.1 獲取指定字元(串)第一次在字元串中出現的位置 367
20.3.2 獲取指定字元(串)最後一次在字元串中出現的位置 368
20.3.3 替換字元串中指定的內容 369
20.4 字元串HTML格式化 370
20.4.1 在字元串兩端加入錨點標誌 370
20.4.2 在指定字元串的兩端加上大字型標誌 370
20.4.3 在字元串的兩端加上粗體標誌 371
20.4.4 在字元串兩端加入斜體標籤 371
20.4.5 在字元串兩端加上固定寬度字型標記 372
20.4.6 設定字元串輸出時的前景色 373
20.4.7 設定字元串輸出時的字型大小 374
20.4.8 在字元串上加入超級連結 375
20.4.9 在字元串兩端加入小字型標記 375
20.4.10 在字元串兩端加入下劃線標記 376
20.4.11 在字元串兩端加入下標標籤 377
20.4.12 在字元串兩端加入上標標籤 378
20.5 Array對象的方法 378
20.5.1 連線其他數組到當前數組末尾 378
20.5.2 將數組元素連線為字元串 379
20.5.3 刪除數組中的最後一個元素 380
20.5.4 將指定的數據添加到數組中 380
20.5.5 反序排列數組中的元素 381
20.5.6 刪除數組中的第一個元素 382
20.5.7 獲取數組中的一部分數據 382
20.5.8 對數組中的元素進行排序 383
20.5.9 刪除或替換數組中的部分數據 384
20.5.10 在數組前面插入數據 385
20.5.11 返回一個包含數組中全部數據的字元串 386
第21章 JavaScript中正則表達式的套用 387
21.1 套用正則表達式對象RegExp 387
21.1.1 創建正則表達式 387
21.1.2 判斷字元串中是否存在匹配內容 388
21.1.3 對字元串進行匹配檢測 389
21.1.4 編譯正則表達式 389
21.1.5 替換字元串中的指定內容 390
21.2 匹配結果處理 391
21.2.1 獲取字元串中所有的匹配信息 391
21.2.2 獲取第一次匹配的起始位置(1) 392
21.2.3 獲取第一次匹配的起始位置(2) 393
21.2.4 獲取子匹配的結果 394
21.2.5 獲取與正則表達式進行匹配檢測的字元串 395
21.2.6 獲取匹配內容的最後一個索引位置 395
21.2.7 獲取最近一次匹配的內容 396
21.2.8 獲取最近一次匹配的最後一個子匹配 397
21.2.9 獲取匹配內容左側的字元信息 397
21.2.10 獲取匹配內容右側的字元信息 398

相關詞條

相關搜尋

熱門詞條

聯絡我們