正則表達式是用於匹配字符串中字符組合的模式。
創建正則表達式的兩個方式:
① 使用一個正則表達式字面量
var re = /ab+c/;
正則表達式字面量爲正則表達式提供了腳本加載後的編譯
② 調用
RegExp
對象的構造函數var re = new RegExp("ab+c");
使用構造函數爲正則表達式提供了運行時的編譯
常見的特殊字符含義:
字符 含義 ^ 匹配輸入的開始 $ 匹配輸入的結束 * 匹配前一個表達式 0 次或多次 + 匹配前面一個表達式 1 次或者多次 ? 如果緊跟在任何量詞 *、 +、? 或 {} 的後面,將會使量詞變爲非貪婪(匹配儘量少的字符),和缺省使用的貪婪模式(匹配儘可能多的字符)正好相反。例如,對 "123abc" 使用 /\d+/
將會匹配 "123",而使用/\d+?/
則只會匹配到 "1"。. (小數點)默認匹配除換行符之外的任何單個字符 x|y 匹配‘x’或者‘y’。 {n,m} n 和 m 都是整數。匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 這個值被忽略。 [xyz]
一個字符集合。匹配方括號中的任意字符 [^xyz] 它匹配任何沒有包含在方括號中的字符。 \d 匹配一個數字 。
等價於[0-9]
。\D 匹配一個非數字字符 。
等價於[^0-9]
\n 匹配一個換行符 \s 匹配一個空白字符 \w 匹配一個單字字符(字母、數字或者下劃線)。等價於 [A-Za-z0-9_]
。
正則表達式可以被用於
RegExp
的exec
和test
方法以及String
的match
、replace
、search
和split
方法