js, 正则表达式

sdsd_(1)__wewe__(2)_sdsd__(3)_

aa = [4,5,6]

求一正则表达式,用数组中的项,替换()中的值,括号可能会是中英文的,最终得到
sdsd_(4)__wewe__(5)_sdsd__(6)_

阅读 182
评论
    4 个回答
    function replaceDatas(str,arr){
        var len=arr.length;
        if(len===0){return str;}
        return str.replace(/([((]\s*)(\d+)(\s*[)))])/g,function(m,g1,g2,g3){
            var index=(+g2);
            if(index>0&&index<=len){
                return g1+arr[index-1]+g3;
            }
            return m;
        });
    }