exec 方法

使用正则表达式模式对字符串执行搜索,并返回一个包含该搜索结果的数组。

function exec(str : String) : Array

参数

  • str
    必选。执行搜索的 String 对象或字符串文本。

备注

如果 exec 方法没有找到匹配,则返回 null。如果找到匹配,则 exec 方法将返回一个数组,并更新全局 RegExp 对象的属性,以反映匹配结果。数组元素 0 包含了完整的匹配,而元素 1 到 n 包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) 的 match 方法的行为。

如果为正则表达式设置了全局标志,则 execlastIndex 值指示的位置开始搜索字符串。如果没有设置全局标志,则 exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索。

exec 方法返回的数组有三个属性,分别是 inputindexlastIndexInput 属性包含整个被搜索的字符串。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;
}

要求

版本 3

请参见

match 方法 | RegExp 对象 | 正则表达式语法 | search 方法 | test 方法

适用于:正则表达式对象