exec 方法
更新:2007 年 11 月
使用正则表达式模式对字符串执行搜索,并返回一个包含该搜索结果的数组。
function exec(str : String) : Array
参数
- str
必选。执行搜索的 String 对象或字符串文本。
备注
如果 exec 方法没有找到匹配,将返回 null。如果找到匹配,则 exec 方法返回一个数组,并将更新全局 RegExp 对象的属性以反映匹配结果。数组元素 0 包含了完整的匹配,而元素 1 到 n 包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) 的 match 方法的行为。
如果为正则表达式设置了全局标志,则 exec 从 lastIndex 值指示的位置开始搜索字符串。如果没有设置全局标志,则 exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索。
exec 方法返回的数组有三个属性:input、index 和 lastIndex.。Input 属性包含整个被搜索的字符串。Index 属性包含了在整个被搜索字符串中匹配的子字符串的位置。lastIndex 属性中包含了匹配中最后一个字符的下一个位置。
示例
下面的示例阐释了 exec 方法的用法:
function RegExpTest() {
var s = "";
var src = "The rain in Spain falls mainly in the plain.";
// Create regular expression pattern for matching a word.
var re = /\w+/g;
var arr;
// Loop over all the regular expression matches in the string.
while ((arr = re.exec(src)) != null)
s += arr.index + "-" + arr.lastIndex + "\t" + arr + "\n";
return s;
}