例如 ""aabaaabaaaba" 这个是由aaba重复组成的 所以这个字符串是符合要求的 是true
例如"aabaabaab"这个字符串是由aab重复组成的 所以这个字符串也是符合要求的 是true
例如"aabpaab"这个就是不符合要求的 没办法由重复字符串组合 多了个p所以为false
这个问题 题意很简单 但是难点在于 你不知道这个重复字符串的位数 是aaba 还是aab 没有什么规律
如果用逆向思维 就是如果字符串里只有一个字母并且只出现一次就是不符合要求的 那么"aababa"里面没有与众不同的字符串
但是明显不符合要求,所以这个逆向思维也不能用
结果就是只能用正则的模式匹配法
var test11="aabaaabaaaba"
function makeone(str){
var reg=new RegExp('^(\\w+)\\1+$','g')
var result= str.match(reg) //
if(result){
return true
}else{
return false
}
}
console.log(makeone(test11))
核心就是 RegExp('^(\w+)\1+表示并且以重复字符串结尾 也作用于(\w)
这个问题就是一个题意很简单 但是不用技巧难度很大的题 知道了之后就是一行代码解决