\1是一个 反向引用匹配(3时候\1反向引用了 3
所以第一个是
macth==(33)
当然第2个匹配 是
匹配到\d时候 \1的反向引用匹配到一个3
所以有两次匹配
所以第一个是
macth==(33)
当然第2个匹配 是
匹配到\d时候 \1的反向引用匹配到一个3
所以有两次匹配
解决方案 »
- 点击.menu a让iframe 的scrolling属性显示或隐藏
- 用JS控制button按扭,让其点一下后就变为不可用状态!
- 网络断线的时候,怎么打开IE提示用户? 找类似于showModeDialog的函数。
- jquery validate.js 比较大小
- 请教:CSDN发贴的时间间隔是多少?
- 高分求在线截图的javascript代码,有答案者追加100分.
- mediaplayer的scriptCommand事件为何总是不被触发?
- 怎样用网页JAVASCRIPT调用本地搜索
- 关于正则表达式的简单问题
- 问题:在JavaScript中如何得到Table中任意一个单元格?
- js的一个应用,求高手给个写法
- 求助以下问题如何用javascript表达 关于年月日及小数点问题
var str = "12ab(33)c(4)";
var arr = str.match(re);
match 是 String 的方法,exec 是 ReExp 对象的方法.
match 只返回匹配的第一项,exec 返回匹配的部分及子匹配项
[1 - n] = RegExp.$[0-n]所以第二次的三就是第一个捕获即RegExp.$1
JScript exec 方法
See Also
match 方法 | RegExp 对象 | 正则表达式对象方法 | 正则表达式对象属性 | 正则表达式语法 | search 方法 | test 方法应用于:正则表达式对象
要求
版本 3
用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。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 的更新版本");
}
}