正则表达式出现的1代表什么意思?
在⽹上看到了这样⼀道题⽬:
判断⼀个字符串中出现次数最多的字符,并统计次数var s = 'aaaaacccccbbbbb';
var a = s.split('');
a.sort();
正则表达式获取括号内容s = a.join('');
var pattern = /(\w)\1*/g; ==> 这⾥\1是什么意思?如果不写这个会怎样?
var ans = s.match(pattern);
ans.sort(function(a, b) {
return a.length < b.length;
});;
console.log(ans[0][0] + ': ' + ans[0].length);
有\1的情况下ans的值为:
["aaaaa","bbbbb","ccccc"]
没有\1的情况下ans的值为:
["aaaaabbbbbccccc"]
如果是\2或者\3呢?
ans值为:["a","a","a","a","a","b","b","b","b","b","c","c","c","c","c"]
正则表达式中的⼩括号"()"。是代表分组的意思。如果再其后⾯出现\1则是代表与第⼀个⼩括号中要匹配的内容相同。注意:\1必须与⼩括号配合使⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论