function aaa (str) {
var arr = str.split(/\[|\]/)
var tmp = 1
return arr.reduce((a, b) => {
if (b === '') return a
var res = a
if (Number(b) == b) {
tmp *= Number(b)
} else {
res += Array.from({length: tmp}).fill(b).join('')
tmp = 1
}
return res
}, '')
}
aaa('5[ab]3[2[c]]')