我正在尝试这个
str = "@a@b";
str2 = str.replace(/@/g,'-[' + str + ']');
输出应该是 - [A] - [B]
答案 0 :(得分:6)
您可以按照以下方式搜索@
而不是@
,然后替换该组。
/@([^@]+)/g
@ look for this character literately
( ) group, this is the part used for replacing -> $1 in replacement string
[^@]+ look for one or more not @ characters
g global flag, replace all found matches
替换是使用第一组$1
进行的。
var str = "@a@b",
str2 = str.replace(/@([^@]+)/g,'-[$1]');
console.log(str2);
答案 1 :(得分:1)
您可以这样做并替换为第1组-[$1]
var str = "@a@b";
var str2 = str.replace(/@(.)/g, '-[$1]');
console.log(str2);

答案 2 :(得分:0)
您可以使用replacer功能
var str = "@a@b";
console.log( str.replace(/@\w/g, m => "[" + m.substring(1) + "]") );