溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript正則表達(dá)式函數(shù)有哪些

發(fā)布時(shí)間:2021-08-19 14:04:12 來(lái)源:億速云 閱讀:108 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要為大家展示了“JavaScript正則表達(dá)式函數(shù)有哪些”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“JavaScript正則表達(dá)式函數(shù)有哪些”這篇文章吧。

/* 測(cè)試環(huán)境:Chrome 63.0.3239.132 */

JS中正則對(duì)象修飾符可選值為:"i" "g" "m",即忽略大小寫(xiě) 進(jìn)行全局匹配 多行模式

JS中正則表達(dá)式支持的元字符:

1:枚舉方括號(hào)表達(dá)式,范圍方括號(hào)表達(dá)式,枚舉取反方括號(hào)表達(dá)式,范圍取反方括號(hào)表達(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中引用分組請(qǐng)用\number,不支持''和<>這樣的命名分組

2:不支持量詞的占有模式

3:不支持逆向環(huán)視

4:方括號(hào)表達(dá)式中復(fù)合表達(dá)式支持如下:

[abc0-9] [abc\d] [\d\w^&]等等類似的

5:支持修飾符組合,比如gim mig gi ig等等,無(wú)順序要求

JS正則對(duì)象屬性:

global:該對(duì)象是否開(kāi)啟全局匹配,一個(gè)布爾值

ignoreCase:該對(duì)象是否開(kāi)啟忽略大小寫(xiě),一個(gè)布爾值

multiline:該對(duì)象是否開(kāi)啟多行模式,一個(gè)布爾值

lastIndex:該對(duì)象下一次開(kāi)始匹配的位置,即上一次匹配結(jié)束的位置,一個(gè)正整數(shù)

source:正則表達(dá)式的源文本,即/regexp/flag的regexp,不包含修飾符,一個(gè)字符串

創(chuàng)建正則表達(dá)式:

1:myreg = new RegExp(patternString[,globalFlags]);

2:myreg = /yourRegexp/globalFlags;

JS中正則表達(dá)式常用方法:

在RegExp對(duì)象中:

1:test(yourString);

定義:檢測(cè)一個(gè)字符串是否匹配某個(gè)模式。

其他說(shuō)明:該方法將忽略"g"標(biāo)志和正則對(duì)象的lastIndex屬性(即總是從開(kāi)頭找起),只要查找到符合模式的字符串即匹配成功。

2:exec(yourString);

定義:檢索字符串中的正則表達(dá)式的匹配。

其他說(shuō)明:若沒(méi)開(kāi)啟"g"標(biāo)志,只查找一次,不修改正則對(duì)象的lastIndex屬性,返回一個(gè)對(duì)象,包含下標(biāo)0、index、input,這時(shí)屬性和match等價(jià);開(kāi)啟"g",將修改正則對(duì)象的lastIndex屬性為本次找到的子字符串的末尾位置,返回一個(gè)和沒(méi)開(kāi)啟"g"一樣的對(duì)象。(你可以自行修改正則對(duì)象的lastIndex屬性來(lái)規(guī)定exec開(kāi)始查找的位置。)

在String對(duì)象中:

1:search(yourRegexpOrString);

定義:檢索字符串中與指定的子字符串或正則表達(dá)式相匹配的子字符串。

其他說(shuō)明:該方法將忽略"g"標(biāo)志和正則對(duì)象的lastIndex屬性(即總是從開(kāi)頭找起),返回找到的第一個(gè)字符的位置,如果未找到返回-1。

2:match(yourRegexpOrString);

定義:在字符串內(nèi)查找一個(gè)或多個(gè)與正則表達(dá)式匹配的字符串,返回一個(gè)對(duì)象。(忽略laseIndex屬性)

其他說(shuō)明:若沒(méi)開(kāi)啟"g"標(biāo)志,將只查找第一個(gè)匹配的字符串,返回一個(gè)對(duì)象,包含下標(biāo)0、index、input,其中下標(biāo)0等價(jià)于index,input是String的引用;開(kāi)啟"g",返回一個(gè)數(shù)組,數(shù)組的length是匹配的字符串個(gè)數(shù),每個(gè)元素是每個(gè)匹配的起始字符位置。

3:replace(yourRegexpOrString,placementString);

定義:用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。

其他說(shuō)明:如果沒(méi)有"g"標(biāo)志只會(huì)替換一次,并且如果參數(shù)是字符串而不是正則對(duì)象始終替換一次。返回一個(gè)字符串,為用placementString替換yourRegexpOrString后的結(jié)果。placementString中$有特殊用途,見(jiàn)下表:

$1、$2、...、$99regexp中捕獲的引用分組。
$&本次匹配的文本。
$`本次匹配到的子串左側(cè)的文本。
$'本次匹配到的子串右側(cè)的文本。
$$$本身。

該方法的第二個(gè)參數(shù)可以為一個(gè)函數(shù),每次匹配都會(huì)調(diào)用該函數(shù),以函數(shù)返回值作為placement,一共傳入4個(gè)參數(shù),第一個(gè)參數(shù)為本次匹配的子文本($&),中間參數(shù)為子表達(dá)式匹配字符串,個(gè)數(shù)不限($i),倒數(shù)第二個(gè)參數(shù)為本次匹配到的子文本下標(biāo)位置,最后一個(gè)參數(shù)表示執(zhí)行place方法的字符串本身。

4:split(yourRegexpOrString[,howMany]);

定義:把一個(gè)字符串分割成字符串值的數(shù)組。

其他說(shuō)明:是arr.join(separatorString)反操作,如果傳入"",則每個(gè)字符都將會(huì)被分隔到數(shù)組。howMany指定返回?cái)?shù)組的個(gè)數(shù)。

以上是“JavaScript正則表達(dá)式函數(shù)有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI