SOURCE

let decodeString = function (s) {
    let reg = new RegExp(/(\d+)\[([a-zA-Z]+)\]/g)
    let str = s.replace(reg, (m,p1,p2) => {
        return p2.repeat(p1)
    })
    return reg.test(str) ? decodeString(str) : str
}
console.log(decodeString("3[a]2[bc]"))
console.log(decodeString("3[a2[c]]"))
console.log(decodeString("2[abc]3[cd]ef"))
console.log(decodeString("abc3[cd]xyz"))
console.log(decodeString("3[a2[c3[ha]]]"))
console 命令行工具 X clear

                    
>
console