美文网首页
证明一个字符串是由多个子字符串重复而组成的

证明一个字符串是由多个子字符串重复而组成的

作者: infi_ | 来源:发表于2019-05-16 16:16 被阅读0次
    20171003223346_2BnNe.jpeg

    例如 ""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+','g') (\\w+)匹配多个字符串 \\1+作用于(\\w)表示至少重复了2次表示并且以重复字符串结尾 也作用于(\w)

    这个问题就是一个题意很简单 但是不用技巧难度很大的题 知道了之后就是一行代码解决

    相关文章

      网友评论

          本文标题:证明一个字符串是由多个子字符串重复而组成的

          本文链接:https://www.haomeiwen.com/subject/oebiaqtx.html