js 正则表达式 中的捕获性分组 和 非捕获性分组的含义是什么呀
re=/abc{2}/;//将匹配abccre=/(abc){2}/;//将匹配abcabc//上面的分组都是捕获性分组str="abcabc###";arr=re.ex...
re = /abc{2}/;//将匹配abcc
re = /(abc){2}/;//将匹配abcabc
//上面的分组都是捕获性分组
str = "abcabc ###";
arr = re.exec(str);
alert(arr[1]);//abc
//非捕获性分组 (?:)
re = /(?:abc){2}/;
arr = re.exec(str);
alert(arr[1]);//undefined
拜谢了 啊 展开
re = /(abc){2}/;//将匹配abcabc
//上面的分组都是捕获性分组
str = "abcabc ###";
arr = re.exec(str);
alert(arr[1]);//abc
//非捕获性分组 (?:)
re = /(?:abc){2}/;
arr = re.exec(str);
alert(arr[1]);//undefined
拜谢了 啊 展开
展开全部
一般的分组()即括号中没有?:的使用时regexp对象都会将分组内匹配到的内容记录下来
re = /(abc){2}/;//将匹配abcabc
这时RegExp会储存abc
var str = "abcabc";
re.test(str);
alert(RegExp.$1);
加上?:后
re = /(?:abc){2}/;
RegExp 就不会储存这个分组了
var str = "abcabc";
re.test(str);
alert(RegExp.$1);
re = /(abc){2}/;//将匹配abcabc
这时RegExp会储存abc
var str = "abcabc";
re.test(str);
alert(RegExp.$1);
加上?:后
re = /(?:abc){2}/;
RegExp 就不会储存这个分组了
var str = "abcabc";
re.test(str);
alert(RegExp.$1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询