ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
| JScript  | [语言参考](#) | |-----|-----| # 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 ~~~ 的更新版本 ~~~ "); ~~~ ~~~ } ~~~ ~~~ } ~~~ #### 要求 [版本 3](#) #### 请参阅 [match 方法](#) | [RegExp 对象](#) | [正则表达式对象的方法](#) | [正则表达式对象的属性](#) | [正则表达式的语法](#) | [search 方法](#) | [test 方法](#) 应用于: [正则表达式对象](#) [© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。](#)