1、字元類
[直接量]
. (點號,小數點) 匹配任意單個字元,但是行結束符除外
\d 匹配乙個0-9之間的阿拉伯數字。等價於[0-9]
\d 匹配任意乙個不是0-9之間阿拉伯數字的字元。等價於[^0-9]。
\w 匹配任意乙個字母、數字或下劃線的字元。等價於 [a-za-z0-9_]。
\w 匹配任意乙個不是字母、數字或下劃線的字元。等價於 [^a-za-z0-9_]。
\s 匹配乙個空白符,包括空格、製表符、換頁符、換行符和其他 unicode 空格。
\s 匹配乙個非空白符。
\t 匹配乙個水平製表符(tab)
\r 匹配乙個回車符(carriage return)
\n 匹配乙個換行符(linefeed)
\v 匹配乙個垂直製表符(vertical tab)
\f 匹配乙個換頁符(form-feed)
2、數量詞
x* 匹配前面的模式 x 0 或多次。
x+ 匹配前面的模式 x 1 或多次。等價於 。
x*? 像上面的 * 一樣匹配前面的模式 x,然而匹配是最小可能匹配。【非貪婪模式:優先匹配最小的次數】
x+? 像上面的 + 一樣匹配前面的模式 x,然而匹配是最小可能匹配。【非貪婪模式:優先匹配最小的次數】
x? 匹配前面的模式 x 0 或 1 次。
x|y 匹配 x 或 y
x n 是乙個正整數。前面的模式 x 連續出現 n 次時匹配
x n 是乙個正整數。前面的模式 x 連續出現至少 n 次時匹配。
x n 和 m 為正整數。前面的模式 x 連續出現至少 n 次,至多 m 次時匹配。
3、字元集合
[xyz] 乙個字元集合(字元組)。匹配集合中的任意乙個字元。【你可以使用連字元'-'指定乙個範圍。[0-9] [a-z] [a-z]】
[^xyz] 乙個反義或補充字符集(反義字元組)。匹配任意不在括號內的字元。【你也可以通過使用連字元 '-' 指定乙個範圍內的字元】
4、邊界
^ 匹配輸入開始。如果多行(multiline)標誌被設為 true,該字元也會匹配乙個斷行(line break)符後的開始處。
$ 匹配輸入結尾。如果多行(multiline)標誌被設為 true,該字元也會匹配乙個斷行(line break)符的前的結尾處。
\b 匹配乙個零寬單詞邊界(zero-width word boundary),如乙個字母與乙個空格之間。
\b 匹配乙個零寬非單詞邊界(zero-width non-word boundary),如兩個字母之間或兩個空格之間。
5、分組
(x) 匹配 x 並且捕獲匹配項。 這被稱為捕獲括號(capturing parentheses)。
\n n 是乙個正整數。乙個反向引用(back reference),指向正規表示式中第 n 個括號(從左開始數)中匹配的子字串。
eg:
/\w+:\/\/\w+(.)\w+\1\w+/
拓展:a.在分組情況中,如果(x)後面有數量詞修飾時;它也只算做乙個()【括號】來算,而後面使用的\n來指向正規表示式中該括號時,
則是指向它重複次數的最後一次()【括號】裡面所包含的內容。【可以使用str.match(正規表示式)不帶g修飾符來輸出進行檢測檢視】
b.\n後面加數量詞修飾則是重複\n選擇的括號裡面的字串。
eg:
str = 'ababaabaa'console.log(str.match(/([a-z]).\1/g)); //['aba','aba']
console.log(str.match(/([a-z]).\1/g)); //
['abab','aaba']
console.log(str.match(/([a-z]).\1/g)); //
[babaa]
console.log(str.match(/([a-z]).\1/g)); //
['abaa']
正規表示式字元解釋
字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結...
正規表示式字元解釋
正規表示式中特殊字元 匹配字串的開始位置,匹配 本身,使用轉義符 匹配字串的結尾位置,匹配 本身,使用轉義符 代表匹配除了 n之外的任何字元 代表前面的字元可以出現0次,1次或者多次 代表前面的字元至少出現1次或者多次 代表前面的字元出現0次或者1次 代表二則選一 標記乙個子表示式的開始和結束 限定...
正規表示式相關 正規表示式字元描述
1 字元描述 將下乙個字元標記為特殊字元或字面值。例如 n 與字元 n 匹 配。n 與換行符匹配。序列 與 匹配,與 匹配。匹配輸入的開始位置。匹配輸入的結尾。匹配前乙個字元零次或幾次。例如,zo 可以匹配 z zoo 匹配前乙個字元一次或多次。例如,zo 可以匹配 zoo 但不匹配 z 匹配前乙個...