RegExp 對(duì)象表示正則表達(dá)式,它是對(duì)字符串執(zhí)行模式匹配的強(qiáng)大工具。
- 直接量語(yǔ)法:/pattern/attributes
- 創(chuàng)建RegExp對(duì)象的語(yǔ)法:new RegExp(pattern, attributes);
- 參數(shù)
- 參數(shù) pattern 是一個(gè)字符串,指定了正則表達(dá)式的模式或其他正則表達(dá)式。
- 參數(shù) attributes 是一個(gè)可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、不區(qū)分大小寫(xiě)的匹配和多行匹配。ECMAScript 標(biāo)準(zhǔn)化之前,不支持 m 屬性。如果 pattern 是正則表達(dá)式,而不是字符串,則必須省略該參數(shù)。
- 返回值
- 一個(gè)新的 RegExp 對(duì)象,具有指定的模式和標(biāo)志。如果參數(shù) pattern 是正則表達(dá)式而不是字符串,那么 RegExp() 構(gòu)造函數(shù)將用與指定的 RegExp 相同的模式和標(biāo)志創(chuàng)建一個(gè)新的 RegExp 對(duì)象。
- 如果不用 new 運(yùn)算符,而將 RegExp() 作為函數(shù)調(diào)用,那么它的行為與用 new 運(yùn)算符調(diào)用時(shí)一樣,只是當(dāng) pattern 是正則表達(dá)式時(shí),它只返回 pattern,而不再創(chuàng)建一個(gè)新的 RegExp 對(duì)象。
正則表達(dá)式字面量與使用構(gòu)造函數(shù)的場(chǎng)景比較:
- 正則表達(dá)式字面量在腳本加載后編譯。若你的正則表達(dá)式是常量,使用這種方式可以獲得更好的性能。
- 使用構(gòu)造函數(shù),提供了對(duì)正則表達(dá)式運(yùn)行時(shí)的編譯。當(dāng)你知道正則表達(dá)式的模式會(huì)發(fā)生改變, 或者你事先并不了解它的模式或者是從其他地方(比如用戶(hù)的輸入),得到的代碼這時(shí)比較適合用構(gòu)造函數(shù)的方式。
正則表達(dá)式中:
方括號(hào)用于查找某個(gè)范圍內(nèi)的字符:

Paste_Image.png
元字符是擁有特殊含義的字符:

Paste_Image.png
量詞:

Paste_Image.png

Paste_Image.png