match 方法
更新:2007 年 11 月
使用正则表达式模式对字符串执行搜索,并返回一个包含该搜索结果的数组。
function match(rgExp : RegExp) : Array
参数
- rgExp
必选。包含正则表达式模式和适用标志的 Regular Expression 对象的实例。也可以是包含正则表达式模式和标志的变量名或字符串。
备注
如果 match 方法没有找到匹配,将返回 null。如果找到匹配,则 match 方法返回一个数组,并将更新全局 RegExp 对象的属性以反映匹配结果。
match 方法返回的数组有三个属性:input、index 和 lastIndex.。Input 属性包含整个被搜索的字符串。Index 属性包含了在整个被搜索字符串中匹配的子字符串的位置。lastIndex 属性包含了前一次匹配中最后一个字符的下一个位置。
如果没有设置全局标志 (g),数组元素 0 包含整个匹配,而元素 1 到元素 n 包含了匹配中曾出现过的任一个子匹配。此行为与没有设置全局标志的 exec 方法的行为相同。如果设置了全局标志,则元素 0 到 n 中包含所有出现的匹配。
示例
下面的示例阐释了 match 方法的用法。
function MatchDemo(){
var r, re; //Declare variables.
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; //Create regular expression pattern.
r = s.match(re); //Attempt match on search string.
return(r); //Return first occurrence of "ain".
}
本示例阐释设置了 g 标志的 match 方法的用法。
function MatchDemo(){
var r, re; //Declare variables.
var s = "The rain in Spain falls mainly in the plain";
re = /ain/ig; //Create regular expression pattern.
r = s.match(re); //Attempt match on search string.
return(r); //Return array containing all four
// occurrences of "ain".
}
下列代码行阐释了 match 方法如何用于字符串。
var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");