一文總結正則表達式使用技巧
以下列出了一些常用正則表達式的使用總結:
1、匹配基本字符
使用普通字符匹配:普通字符(如字母、數字、符號)在正則表達式中表示自身,例如匹配 "runoob":/runoob/。
使用元字符 . 匹配任意字符:****. 表示匹配任意單個字符,例如匹配 "cat" 或 "bat":/c.t/。
2、匹配字符集合
使用字符集合匹配:使用方括號 _[]_ 表示字符集合,匹配集合中的任意字符,例如匹配 "cat"、"bat" 或 "hat":_**/[cbh]at/**_。
使用連字符 - 表示字符範圍:在字符集合中使用連字符 - 表示匹配字符範圍,例如匹配 "a" 到 "z" 的小寫字母:_/[a-z]/_。
3、匹配重複和數量
使用 * 匹配零個或多個:***** 表示匹配前面的模式零次或多次,例如匹配 "caat"、"ct" 或 "cat":/ca*t/。
使用 + 匹配一個或多個:+ 表示匹配前面的模式至少一次或多次,例如匹配 "cat"、"caat"、"caaat" 等:/ca+t/。
使用 ? 匹配零個或一個:? 表示匹配前面的模式零次或一次,例如匹配 "ct" 或 "cat":/ca?t/。
使用花括號 {n} 匹配固定數量:使用花括號 _{n}_ 表示匹配前面的模式恰好 n 次,例如匹配 "cat"、"caat" 或 "caaat":_**/ca{2}t/**_。
4、使用特殊字符和轉義
*轉義特殊字符:使用反斜槓 * 來轉義特殊字符,例如匹配 "2+2=4":_/2+2=4/_。
匹配邊界和位置:使用特殊字符 _^_ 和 _**$**_ 分別表示行的開頭和結尾,例如匹配以 "hello" 開頭的字符串:_**/^hello/**_。
5、使用捕獲組
使用括號 () 創建捕獲組:使用括號 _()_ 將一部分正則表達式模式組合成一個捕獲組,可以提取或分組匹配的內容,例如提取日期中的年份:_**/(\d{4})-\d{2}-\d{2}/**_。
6、使用字符轉義
使用反斜槓 \ 轉義特殊字符:對於正則表達式中的特殊字符,如 _、+、?*_ 等,使用反斜槓 **** 進行轉義,例如匹配包含字面量星號的字符串:_**/*/**_。
7、使用字符類別
使用預定義的字符類別:正則表達式提供了一些預定義的字符類別,例如 _\d_ 匹配任意數字字符,_**\w**_ 匹配任意字母、數字或下劃線字符,_**\s**_ 匹配任意空白字符等。
8、使用邏輯操作符
使用 | 進行邏輯或操作:| 用於表示邏輯或操作,可以匹配多個模式中的任意一個,例如匹配 "cat" 或 "dog":/(cat|dog)/。
9、使用反向引用
使用 \n 進行反向引用:在正則表達式中,_\n_ 可以用來引用前面捕獲組中匹配的內容,例如匹配重複的單詞:_**/\b(\w+)\b\s+\1\b/**_。
10、使用修飾符
**使用修飾符改變匹配行爲:**正則表達式支持一些修飾符,如 i 用於進行不區分大小寫的匹配,g 用於全局匹配,m 用於多行匹配等。
相關鏈接:
-
教程地址:https://www.runoob.com/regexp/regexp-usage-summary.html
-
測驗工具:https://www.runoob.com/try/try-regex.php
-
測試工具:https://c.runoob.com/front-end/854/
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/7bDukFKBv4M6j-j5V4MZ5g