连续出现的字符串压缩,记录连续出现的次数,例如输入
aabccccaaa
输出
a2bc4a3
极限条件,只能输入字母且字符个数不能超过100
思路: 输入字符串,输出字符串,使用操作字符串的形式 操作字符串,正则筛选
为什么使用 \1+ 出现1次或多次匹配不到只出现1次的字符串???
function getZipStr(str){
let reg = /([a-z])\1*/g // 匹配第一个括号内部的字符 贪婪匹配符号
let result = '' let arr = str.match(reg) // ['aa', 'b', 'cccc', 'aaa']
for(let item of arr){
if(item.length>1){
result = result + item.substring(0,1) + item.length
}else{
result = result + item
}
}
return result
}