第1篇 正則錶達式基礎
第1章 外行看正則錶達式 1
1.1 什麼是正則錶達式 1
1.2 本書使用的測試工具 2
1.3 理解元字符 3
1.3.1 匹配位置的元字符 3
1.3.2 匹配字符的元字符 4
1.3.3 元字符總結 5
1.4 文字匹配 7
1.4.1 字符類 7
1.4.2 字符轉義 9
1.4.3 反義 9
1.4.4 限定符 10
1.5 字符的操作 15
1.5.1 替換 15
1.5.2 分組 17
1.5.3 反嚮引用 17
1.6 正則的其他操作 19
1.6.1 零寬度斷言 19
1.6.2 負嚮零寬度斷言 20
1.6.3 匹配選項 21
1.6.4 注釋 21
1.6.5 優先級順序 22
1.6.6 遞歸匹配 22
1.7 典型正則錶達式解釋 23
1.7.1 匹配Windows操作係統的名稱 23
1.7.2 匹配HTML標記 23
1.7.3 匹配HTML標記之間的內容 24
1.7.4 匹配CSV文件內容 25
第2章 數字驗證的方法 27
2.1 9種數值驗證 27
2.1.1 字符串隻包含數字的驗證 27
2.1.2 字符串隻包含整數的驗證 31
2.1.3 字符串指定範圍的整數驗證 32
2.1.4 字符串為實數的驗證 35
2.1.5 字符串指定精度的實數驗證 38
2.1.6 科學計數法的數值驗證 39
2.1.7 二進製數值的驗證 39
2.1.8 八進製數值的驗證 40
2.1.9 十六進製數值的驗證 41
2.2 4種國內電話號碼的驗證 43
2.2.1 國內手機號碼驗證 43
2.2.2 固定電話號碼(不包括區號)驗證 44
2.2.3 區號+固定電話號碼驗證 45
2.2.4 區號+固定電話號碼+分機號碼驗證 47
2.2.5 固定電話號碼驗證總結 48
2.3 2種身份證號碼驗證 49
2.3.1 15位身份證號碼驗證 50
2.3.2 18位身份證號碼驗證 51
2.4 銀行卡和信用卡號驗證 51
2.5 郵政編碼驗證 52
2.5.1 國內郵政編碼驗證 52
2.5.2 國際郵政編碼驗證 53
2.6 4種IP地址驗證 53
2.6.1 簡單IP地址驗證 53
2.6.2 精確IP地址驗證 54
2.6.3 子網內部IP地址驗證 56
2.6.4 64位IP地址驗證 57
第3章 常用字符串驗證方法 60
3.1 5種英文單詞驗證 60
3.1.1 小寫英文單詞驗證 60
3.1.2 大寫英文單詞驗證 61
3.1.3 英文單詞的分隔符驗證 62
3.1.4 否定驗證 64
3.1.5 具有重復特徵的英文單詞驗證 67
3.2 6種非單詞字符串驗證 69
3.2.1 英文標點符號驗證 69
3.2.2 中文標點符號驗證 70
3.2.3 中文文本驗證 70
3.2.4 特殊字符驗證 71
3.2.5 密碼驗證 71
3.2.6 字符錶的分類 76
3.3 常用的文件名稱和路徑驗證 76
3.3.1 通配符 76
3.3.2 指定文件擴展名的驗證 77
3.3.3 指定文件名的驗證 78
3.3.4 包含指定字符串的文件全名驗證 78
3.3.5 排除兩端存在空白字符的文件全名驗證 79
3.3.6 文件路徑驗證 81
3.4 4種網絡常用元素驗證 82
3.4.1 電子郵件驗證 82
3.4.2 主機名稱驗證 83
3.4.3 HTTP地址驗證 85
3.4.4 FTP地址驗證 86
第4章 常見數字和字符混閤驗證 87
4.1 5種數學錶達式驗證 87
4.1.1 操作數驗證 87
4.1.2 操作符驗證 88
4.1.3 簡單數學錶達式驗證 88
4.1.4 隻含操作數和操作符的數學錶達式驗證 89
4.1.5 包含小括號的數學錶達式驗證 90
4.2 8種日期和時間驗證 92
4.2.1 年驗證 92
4.2.2 月驗證 93
4.2.3 日驗證 94
4.2.4 年月日格式的日期驗證 95
4.2.5 24小時製時分秒格式的時間驗證 96
4.2.6 12小時製時分秒格式的時間驗證 97
4.2.7 帶毫秒的時間驗證 98
4.2.8 長格式的日期和時間驗證 100
4.3 4種編碼規範驗證 101
4.3.1 類名稱驗證 101
4.3.2 聲明變量錶達式驗證 102
4.3.3 函數名稱驗證 102
4.3.4 聲明函數錶達式驗證 103
4.4 3種車牌號碼驗證 106
4.4.1 通用車牌號碼驗證 106
4.4.2 武警車牌號碼驗證 108
第5章 常見的HTML元素驗證和處理 110
5.1 6種HTML元素驗證的基礎 110
5.1.1 HTML標記驗證 110
5.1.2 非封閉HTML標記驗證 111
5.1.3 封閉HTML標記驗證 112
5.1.4 屬性賦值錶達式驗證 113
5.1.5 HTML中的注釋驗證 116
5.1.6 HTML中的腳本代碼塊驗證 117
5.2 4種非封閉的HTML元素驗證 118
5.2.1 <br>元素驗證 119
5.2.2 <hr>元素驗證 121
5.2.3 <a>元素驗證 124
5.2.4 <input>元素驗證 128
5.3 封閉的HTML元素驗證 129
5.4 處理HTML元素 130
5.4.1 提取HTML標記 130
5.4.2 提取HTML標記之間的內容 131
5.4.3 提取URL 132
5.4.4 提取圖像的URL 133
5.4.5 提取HTML頁麵的標題 134
第2篇 ASP.NET正則錶達式應用
第6章 C#常用數據類型的檢查與轉換 136
6.1 數值數據類型的檢查與轉換 136
6.1.1 整數檢查 136
6.1.2 實數檢查 137
6.1.3 整數和字符串之間的轉換 138
6.1.4 浮點數和字符串之間的轉換 140
6.2 布爾數據類型檢查與轉換 141
6.2.1 布爾值檢查 141
6.2.2 布爾值和字符串之間的轉換 141
6.3 時間數據類型檢查與轉換 142
6.3.1 時間數據類型檢查 142
6.3.2 時間和字符串之間的轉換 143
6.4 數據類型檢查與轉換應用實例 144
第7章 不可變字符串與可變字符串的處理 146
7.1 15種不可變字符串String處理 146
7.1.1 String類和對象 146
7.1.2 插入字符串 147
7.1.3 替換字符串 147
7.1.4 填充字符串 148
7.1.5 刪除字符串 149
7.1.6 分割字符串 149
7.1.7 比較字符串 150
7.1.8 連接字符串 151
7.1.9 處理字符串中的空白 152
7.1.10 轉換字符串大小寫 153
7.1.11 匹配和檢索字符串 153
7.1.12 格式化字符串 156
7.1.13 獲取子字符串 156
7.1.14 編碼字符串 157
7.1.15 不可變字符串String處理的應用 157
7.2 8種可變字符串StringBuilder處理 159
7.2.1 StringBuilder類和對象 159
7.2.2 追加字符串 159
7.2.3 插入字符串 161
7.2.4 替換字符串 162
7.2.5 刪除字符串 163
7.2.6 復製字符串 164
7.2.7 處理字符串容量 165
7.2.8 可變字符串StringBuilder處理的應用 165
第8章 常見的.NET框架中正則錶達式及其應用 167
8.1 10種.NET框架中的正則錶達式類庫 167
8.1.1 System.Text.RegularExpressions命名空間 167
8.1.2 正則錶達式類Regex 168
8.1.3 正則錶達式選項 168
8.1.4 檢查是否匹配錶達式 169
8.1.5 匹配單個匹配項 170
8.1.6 匹配多個匹配項 171
8.1.7 替換 173
8.1.8 使用委托MatchEvaluator處理匹配結果 174
8.1.9 獲取分組名稱 175
8.1.10 分割錶達式 175
8.2 14種正則錶達式類Regex處理字符串 176
8.2.1 隻包含數字驗證 176
8.2.2 整數驗證 176
8.2.3 實數驗證 176
8.2.4 電話號碼驗證 177
8.2.5 郵政編碼驗證 177
8.2.6 身份證號碼驗證 177
8.2.7 銀行卡號驗證 177
8.2.8 IP地址驗證 178
8.2.9 日期和時間驗證 178
8.2.10 車牌號碼驗證 178
8.2.11 電子郵件驗證 179
8.2.12 URL驗證 179
8.2.13 提取網頁標題 179
8.2.14 提取網頁中的圖像地址 180
8.2.15 提取網頁中的HTTP地址 181
第9章 常見ASP.NET驗證控件 183
9.1 ASP.NET驗證簡介 183
9.2 2種非空驗證 184
9.2.1 無初始值的非空驗證 185
9.2.2 指定初始值的驗證 185
9.3 3種範圍驗證 186
9.3.1 整數範圍驗證 186
9.3.2 字母範圍驗證 187
9.3.3 日期範圍驗證 188
9.4 3種比較驗證 189
9.4.1 兩個控件內容的比較驗證 189
9.4.2 檢查控件內容的數據類型 190
9.4.3 指定的值和控件內容的比較驗證 191
9.5 2種自定義驗證 192
9.5.1 自定義客戶端驗證 192
9.5.2 自定義服務端驗證 193
9.6 7種正則錶達式驗證 194
9.6.1 整數驗證 194
9.6.2 數值驗證 195
9.6.3 電話號碼驗證 196
9.6.4 身份證號碼驗證 197
9.6.5 電子郵件驗證 198
9.6.6 日期和時間驗證 199
9.6.7 URL驗證 200
9.7 2種顯示驗證摘要 201
9.7.1 在對話框上顯示驗證摘要 201
9.7.2 在網頁上顯示驗證摘要 202
第3篇 PHP正則錶達式應用
第10章 常見PHP數據類型 204
10.1 7種PHP常見數據類型 204
10.1.1 布爾型 204
10.1.2 NULL型 204
10.1.3 整型 205
10.1.4 浮點型 205
10.1.5 字符串 205
10.1.6 數組 207
10.1.7 對象 208
10.2 5種常見的類型轉化 209
10.2.1 變量類型變化 209
10.2.2 強製類型轉換 210
10.2.3 字符串轉化 212
10.2.4 數字轉化 212
10.2.5 數組轉化 213
10.3 小結 213
第11章 常見PHP字符串處理 214
11.1 常見的3種字符串分析 214
11.1.1 訪問字符串中的字符 214
11.1.2 處理子字符串 215
11.1.3 分割字符串 217
11.2 4種字符串的操作 218
11.2.1 刪除字符串的空白 218
11.2.2 轉換字符串大小寫 219
11.2.3 填補字符串 220
11.2.4 反轉字符串 221
11.3 2種字符串的格式化 221
11.3.1 格式化數字 221
11.3.2 格式化字符串 222
11.4 字符串的查找和替換 224
11.4.1 查找字符串 224
11.4.2 替換字符串 225
11.5 3種常見的字符串的比較方法 227
11.5.1 按ASCII碼順序比較 227
11.5.2 按“自然排序”法比較 228
11.5.3 按相似性比較 229
11.6 處理HTML和URL 230
11.6.1 HTML標簽的清理 230
11.6.2 HTML實體的處理 231
11.6.3 URL字符串的解析 232
11.6.4 URL編碼處理 234
11.6.5 查詢字符串的構造 235
11.7 小結 236
第12章 PHP與正則錶達式的應用 237
12.1 關於POSIX擴展庫的正則錶達式函數 237
12.1.1 模式匹配 237
12.1.2 模式替換 238
12.1.3 模式分割 239
12.2 關於PCRE庫的正則錶達式函數 239
12.2.1 對正則錶達式匹配 240
12.2.2 取得正則錶達式的全部匹配 241
12.2.3 返迴與模式匹配的數組單元 241
12.2.4 正則錶達式的替換 242
12.2.5 正則錶達式的拆分 243
12.3 PHP與正則錶達式的綜閤應用 243
12.3.1 錶單驗證 243
12.3.2 UBB代碼 247
12.3.3 分析Apache日誌文件 251
12.4 小結 254
第4篇 JSP正則錶達式應用
第13章 常見的JSP中數據處理 255
13.1 5種JSP中的常用數據類型 255
13.1.1 整數類型及應用 255
13.1.2 浮點類型及應用 258
13.1.3 字符類型及應用 259
13.1.4 布爾類型及應用 260
13.1.5 字符串類型及應用 261
13.2 2種JSP中數據類型的轉換 262
13.2.1 自動類型轉換及應用 262
13.2.2 強製類型轉換及應用 263
13.3 7種JSP中字符串數據的處理 264
13.3.1 字符串與其他類型數據的轉換 264
13.3.2 字符串的分析 265
13.3.3 字符串的查找與替換 267
13.3.4 字符串數據的整理 268
13.3.5 字符串的比較 269
13.3.6 字符串的連接 270
13.3.7 字符串的格式化 271
13.4 小結 272
第14章 常見的JSP中正則錶達式 273
14.1 2種JSP中的正則錶達式函數 273
14.1.1 Pattern類 273
14.1.2 Matcher類 275
14.1.3 正則錶達式常用的四種功能 278
14.2 JSP中正則錶達式的常見應用示例 282
14.2.1 電子郵件地址的校驗 282
14.2.2 URL地址的校驗 283
14.2.3 電話號碼的校驗 284
14.3 小結 286
第5篇 JavaScript正則錶達式應用
第15章 常見的JavaScript中數據類型及其轉化 287
15.1 常見的三種JavaScript數據類型 287
15.1.1 數字基本類型 287
15.1.2 字符串基本類型 288
15.1.3 布爾值基本類型 289
15.2 數據類型轉化 289
15.2.1 基本數據類型轉換 289
15.2.2 將字符串轉化為整數 290
15.2.3 將字符串轉化為浮點數 290
第16章 常見JavaScript字符串和數組處理 291
16.1 6種字符串格式處理 291
16.1.1 獲取字符串的長度 291
16.1.2 根據指定的Unicode編碼返迴一個字符串 291
16.1.3 將字符串分割並存儲到數組中 292
16.1.4 比較兩個字符串的大小 292
16.1.5 將字符串轉化為小寫格式 293
16.1.6 將字符串轉化為大寫格式 294
16.2 最基本的字符串查找、替換 294
16.2.1 獲取指定字符(串)第一次在字符串中齣現的位置 294
16.2.2 獲取指定字符(串)最後一次在字符串中齣現的位置 295
16.2.3 替換字符串中指定的內容 296
16.3 字符串截取、組閤的方法 296
16.3.1 返迴字符串中指定位置處的字符 297
16.3.2 將一個或多個字符串連接到當前字符串的末尾 298
16.3.3 獲取指定位置的字符的Unicode編碼 298
16.3.4 從字符串中提取子串(1) 299
16.3.5 從字符串中提取子串(2) 300
16.3.6 從字符串中提取子串(3) 301
16.4 字符串HTML格式化 301
16.4.1 在字符串兩端加入錨點標誌 302
16.4.2 在字符串的兩端加上粗體標誌 302
16.4.3 在字符串兩端加入斜體標簽 302
16.4.4 在指定字符串的兩端加上大字體標誌 303
16.4.5 在字符串的兩端加上固定寬度字體標記 303
16.4.6 設置字符串輸齣時的字體大小 304
16.4.7 設置字符串輸齣時的前景色 305
16.4.8 在字符串上加入超鏈接 305
16.4.9 在字符串兩端加上小字體標記 306
16.4.10 在字符串兩端加入下標標簽 307
16.4.11 在字符串兩端加入上標標簽 307
16.4.12 在字符串的兩端加入下畫綫標記 308
16.5 Array對象的方法及使用 308
16.5.1 連接其他數組到當前數組末尾 309
16.5.2 將數組元素連接為字符串 309
16.5.3 刪除數組中的第一個元素 310
16.5.4 刪除數組中最後一個元素 310
16.5.5 刪除或替換數組中部分數據 311
16.5.6 將指定的數據添加到數組中 312
16.5.7 在數組前麵插入數據 313
16.5.8 獲取數組中的一部分數據 313
16.5.9 反序排列數組中的元素 314
16.5.10 對數組中的元素進行排序 314
16.5.11 返迴一個包含數組中全部數據的字符串 315
第17章 常見JavaScript正則錶達式應用 317
17.1 正則錶達式對象RegExp及其應用 317
17.1.1 正則錶達式的創建 317
17.1.2 判斷字符串中是否存在匹配內容 317
17.1.3 對字符串進行匹配檢測 318
17.1.4 編譯正則錶達式 319
17.1.5 替換字符串中的指定內容 320
17.2 處理匹配的結果 320
17.2.1 獲取字符串中所有的匹配信息 320
17.2.2 獲取第一次匹配的起始位置(1) 321
17.2.3 獲取第一次匹配的起始位置(2) 322
17.2.4 獲取子匹配的結果 322
17.2.5 獲取與正則錶達式進行匹配檢測的字符串 324
17.2.6 獲取最近一次匹配的內容 324
17.2.7 獲取最近一次匹配的最後一個子匹配 325
17.2.8 獲取匹配的內容的最後一個索引位置 325
17.2.9 獲取匹配內容左側的字符信息 326
17.2.10 獲取匹配內容右側的字符信息 327
· · · · · · (
收起)