使用正則表達式模式對字符串執(zhí)行查找,并將包含查找的結(jié)果作為數(shù)組返回。
stringObj.match(rgExp)
如果 match 方法沒有找到匹配,返回 null。如果找到匹配返回一個數(shù)組并且更新全局 RegExp 對象的屬性以反映匹配結(jié)果。
match 方法返回的數(shù)組有三個屬性:input、index 和 lastIndex。Input 屬性包含整個的被查找字符串。Index 屬性包含了在整個被查找字符串中匹配的子字符串的位置。LastIndex 屬性包含了最后一次匹配中最后一個字符的下一個位置。
如果沒有設(shè)置全局標(biāo)志 (g),數(shù)組的 0 元素包含整個匹配,而第 1 到 n 元素包含了匹配中曾出現(xiàn)過的任一個子匹配。這相當(dāng)于沒有設(shè)置全局標(biāo)志的 exec 方法。如果設(shè)置了全局標(biāo)志,元素 0 到 n 中包含所有匹配。
下面的示例演示了match 方法的用法:
function MatchDemo(){ var r, re; // 聲明變量。 var s = "The rain in Spain falls mainly in the plain"; re = /ain/i; // 創(chuàng)建正則表達式模式。 r =s.match(
re)
; // 嘗試匹配搜索字符串。 return(r); // 返回第一次出現(xiàn) "ain" 的地方。 }
本示例說明帶 g 標(biāo)志設(shè)置的 match 方法的用法。
function MatchDemo(){ var r, re; // 聲明變量。 var s = "The rain in Spain falls mainly in the plain"; re = /ain/ig; // 創(chuàng)建正則表達式模式。 r =s.match(
re)
; // 嘗試去匹配搜索字符串。 return(r); // 返回的數(shù)組包含了所有 "ain" // 出現(xiàn)的四個匹配。 }
下面幾行代碼演示了字符串文字的 match 方法的用法。
var r, re = "Spain"; r ="The rain in Spain".replace(
re,
"Canada")
;
exec 方法 | RegExp 對象 | replace 方法 | search 方法 | String 對象的方法 | test 方法
應(yīng)用于: String 對象