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