元字符:
\d : 匹配任意一個數字,0~9 中的任意一個
\s : 匹配任意一個空白字符 比如:空格 回車 tab
\b : 匹配一個單詞邊界,不匹配任何字符
\w : 匹配任意一個字符( 字母、 數字、下劃線 ) . : 匹配任意一個字符,除了換行符( \n )
\n : 查找換行符
\u : 通常用來匹配漢字
表達式 "\d","\s","\b","\w",對應的大寫字母表示相反的意義 如:\D 匹配所有的非數字字符
量詞/限定符:
較為常用的包括: “+”, “*”,以及 “?”。其中,“+”元字符規定其前導字符必須在目標對象中連續出現一次或多次,“*”元字符規定其前導字符必須在目標對象中出現零次或連續多次,而“?”元字符規定其前導對象必須在目標對象中連續出現零次或一次。
下面,就讓我們來看一下正則表達式元字符的具體應用。
/fo+/
因為上述正則表達式中包含“+”元字符,表示可以與目標對象中的 “fo”, “foo”, 或者 “fooo” 等在字母f后面連續出現一個或多個字母o的字符串相匹配。
/eg*/
因為上述正則表達式中包含“*”元字符,表示可以與目標對象中的 “e”, “eg” 或者 “egg” 等在字母e后面連續出現零個或多個字母g的字符串相匹配。
/Wi?/
因為上述正則表達式中包含“?”元字符,表示可以與目標對象中的 “W”, 或者 “Wi”,等在字母i后面連續出現零個或一個字母 i 的字符串相匹配。
除了元字符之外,用戶還可以精確指定模式在匹配對象中出現的頻率。例如,
/jim{2,6}/
上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。
如果/jim{2}/表示只匹配兩個??jimmy
/[0-9]/表示匹配0-9之間的數字與/d相同中括號內可以寫字母符號數字等
^n : 匹配任何開頭為 n 的字符串。
n$ : 匹配任何結尾為 n 的字符串。
其他:
| : 匹配左邊或者右邊
\ : 轉義符 特殊標點符號,在前面加 \ 后,就代表該符號本身
^ 要匹配 "^" 字符本身,請使用 \^
( ) 要匹配小括號本身,請使用 \( 和 \)其他特殊標點符號 [ ] { } . ? + * |
var reg2=/\s{1,}/g;//匹配1到N位空白字符;{1,}等同于+
RegExp(正則表達式)的方法;
test:檢索字符串中指定的值 返回 true 或 false reg.test(str);
exec: 檢索字符串返回查找結果的第一個值 reg.exec(str);
test使用方法? ? RegExpObject.test(string)
? ?如果字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。
var reg0=new RegExp(“a","g");? ? 等同于? ? ?var reg1 = /a/g;? ?
g 為可選字符串,包含屬性g、i 和 m
g:代表全局匹配 (繼續往下匹配)
i:代表不區分大小寫匹配
m:代表多行匹配,只對^和$模式有用
console.log(reg0.test("abcd"));