本對(duì)象包含正則表達(dá)式模式以及表明如何應(yīng)用模式的標(biāo)志。
re = /pattern/[flags]
re = new RegExp("pattern",["flags"])
不要將正則表達(dá)式對(duì)象跟全局 RegExp 對(duì)象混淆。盡管聽(tīng)起來(lái)像是一回事,但它們是截然不同的。正則表達(dá)式對(duì)象的屬性只包含一個(gè)正則表達(dá)式的信息,而全局 RegExp 對(duì)象的屬性包含了不斷更新的每一個(gè)匹配出現(xiàn)的信息。
正則表達(dá)式對(duì)象保存用于查找字符串中的字符組合時(shí)的模式。創(chuàng)建正則表達(dá)式對(duì)象后,或者它被傳遞給字符串方法,或者字符串被傳遞給一個(gè)正則表達(dá)式方法。有關(guān)最近進(jìn)行查找的信息被保存在全局 RegExp 對(duì)象中。
當(dāng)預(yù)先知道查找字符串時(shí)用語(yǔ)法 1。當(dāng)查找字符串經(jīng)常變動(dòng)或不知道時(shí)用語(yǔ)法 2,比如由用戶輸入得到的字符串。
在使用前 pattern 參數(shù)被編譯為內(nèi)部格式。對(duì)語(yǔ)法 1 來(lái)說(shuō),pattern 在該腳本被裝載時(shí)被編譯。對(duì)語(yǔ)法 2 來(lái)說(shuō),pattern 在使用前,或調(diào)用 compile 方法時(shí)被編譯。
下面的示例創(chuàng)建一個(gè)包含正則表達(dá)式模式及相關(guān)標(biāo)志的對(duì)象(re),向您演示正則表達(dá)式對(duì)象的用法。在本例中,作為結(jié)果的正則表達(dá)式對(duì)象又用于 match 方法中:
function MatchDemo(){ var r, re; // 聲明變量。 var s = "The rain in Spain falls mainly in the plain";re = new RegExp("Spain","i")
; // 創(chuàng)建正則表達(dá)式對(duì)象。 r =s.match(
re)
; // 在字符串 s 中查找匹配。 return(r); // 返回匹配結(jié)果。 }
compile 方法 | exec 方法 | test 方法