例如有一段文字
这里是测试,[em:1]哈哈[em:2]
将里面的[em:xxx]都替换成一个数组里key对应的value
array(1=>'1.gif',2=>'2.gif');
如何用正则替换呢?谢谢!
2016-5-20 22:42:38 更新
谢谢各位 刚刚看了些教程写了一个出来,没想到各位写得那么迅速,而且和你们也有点差距,谢谢了
我自己写的是
var reg = /\[em:\d+]/g;
供参考
var str = '这里是测试,[em:1]哈哈[em:2]';
var arr = ['1.gif', '2.gif'];
var str2 = str.replace(/\[em:(\d+)\]/g, function(item, index){
return arr[index-1];
});
console.log(str2);
var a = '这里是测试,[em:1]哈哈[em:2]';
var b = ['', '1.gif', '2.gif'];
a.replace(/\[em:([\d]+)\]/ig, (e, e1) => b[e1])
//这里是测试,1.gif哈哈2.gif