/* 測試環(huán)境:Chrome 63.0.3239.132 */
JS中正則對象修飾符可選值為:"i" "g" "m",即忽略大小寫 進(jìn)行全局匹配 多行模式
JS中正則表達(dá)式支持的元字符:
1:枚舉方括號表達(dá)式,范圍方括號表達(dá)式,枚舉取反方括號表達(dá)式,范圍取反方括號表達(dá)式
2:. /w /W /d /D /s /S /b /B /n /r /f /v /888 /uffff /xff
3:n? n+ n* n{a} n{a,} n{a,b}及這些量詞的非貪心模式
4:^ $ (?!) (?=) (?:)
其他:
1:JS中引用分組請用/number,不支持''和<>這樣的命名分組
2:不支持量詞的占有模式
3:不支持逆向環(huán)視
4:方括號表達(dá)式中復(fù)合表達(dá)式支持如下:
[abc0-9] [abc/d] [/d/w^&]等等類似的
5:支持修飾符組合,比如gim mig gi ig等等,無順序要求
JS正則對象屬性:
global:該對象是否開啟全局匹配,一個布爾值
ignoreCase:該對象是否開啟忽略大小寫,一個布爾值
multiline:該對象是否開啟多行模式,一個布爾值
lastIndex:該對象下一次開始匹配的位置,即上一次匹配結(jié)束的位置,一個正整數(shù)
source:正則表達(dá)式的源文本,即/regexp/flag的regexp,不包含修飾符,一個字符串
創(chuàng)建正則表達(dá)式:
1:myreg = new RegExp(patternString[,globalFlags]);
2:myreg = /yourRegexp/globalFlags;
JS中正則表達(dá)式常用方法:
在RegExp對象中:
1:test(yourString);
定義:檢測一個字符串是否匹配某個模式。
其他說明:該方法將忽略"g"標(biāo)志和正則對象的lastIndex屬性(即總是從開頭找起),只要查找到符合模式的字符串即匹配成功。
2:exec(yourString);
定義:檢索字符串中的正則表達(dá)式的匹配。
其他說明:若沒開啟"g"標(biāo)志,只查找一次,不修改正則對象的lastIndex屬性,返回一個對象,包含下標(biāo)0、index、input,這時屬性和match等價;開啟"g",將修改正則對象的lastIndex屬性為本次找到的子字符串的末尾位置,返回一個和沒開啟"g"一樣的對象。(你可以自行修改正則對象的lastIndex屬性來規(guī)定exec開始查找的位置。)
在String對象中:
1:search(yourRegexpOrString);
定義:檢索字符串中與指定的子字符串或正則表達(dá)式相匹配的子字符串。
其他說明:該方法將忽略"g"標(biāo)志和正則對象的lastIndex屬性(即總是從開頭找起),返回找到的第一個字符的位置,如果未找到返回-1。
2:match(yourRegexpOrString);
定義:在字符串內(nèi)查找一個或多個與正則表達(dá)式匹配的字符串,返回一個對象。(忽略laseIndex屬性)
其他說明:若沒開啟"g"標(biāo)志,將只查找第一個匹配的字符串,返回一個對象,包含下標(biāo)0、index、input,其中下標(biāo)0等價于index,input是String的引用;開啟"g",返回一個數(shù)組,數(shù)組的length是匹配的字符串個數(shù),每個元素是每個匹配的起始字符位置。
新聞熱點(diǎn)
疑難解答
圖片精選