今天楼主偶遇一道题,下面分享给大家
/*
题目:找出字符串中连续出现最多的字符和个数
输入:'aaaavvvvabbbbbffff'
输出:{b: 5}
*/
那么该怎么做呢?重点在连续上
/*
题目:找出字符串中连续出现最多的字符和个数
输入:'aaaavvvvabbbbbffff'
输出:{b: 5}
*/
var str = 'aaaavvvvabbbbbffff';
var arr = str.match(/(.)\1*/g);
var res = arr.sort((a,b) =>b.length-a.length )[0]
let output = {[res[0]]: res.length}
console.log(output) //{b: 5}
就这样巧妙的解决了问题,下面来说一下,正则中匹配连续相同的正则怎么写?
正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同。
注意:\1必须与小括号配合使用
到这里,应该知道了吧,就是\1的作用,必须与分组的小括号使用!!!