exec 方法

  用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。

  rgExp.exec(str)

  参数

  rgExp

  必选项。包含正则表达式模式和可用标志的正则表达式对象。

  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 ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
 if (ver >= 5.5){         // 测试 JScript 的版本。
  var src = "The rain in Spain falls mainly in the plain.";
  var re = /w+/g;        // 创建正则表达式模式。
  var arr;
  while ((arr = re.exec(src)) != null)
    document.write(arr.index + "-" + arr.lastIndex + "t" + arr);
 }
 else{
  alert("请使用 JScript 的更新版本");
 }
}