如何使用RegExp替换javascript中的字符串?

如何使用RegExp替换javascript中的字符串?,javascript,regex,Javascript,Regex,有一个字符串和RegExp: var str = "a1c a23c a456c 123"; var re = /a(\d*)c/g; 我想匹配a和c之间的所有数字,并将其替换为b,结果是: "abc abc abc 123" 怎么做?试试这个 var str=“a1c a23c a456c 123”; var re=/(a)(\d*)(c)/g; 控制台日志(str.replace(re,'1b$3'))试试这个 var str=“a1c a23c a456c 123”; var re

有一个字符串和RegExp:

var str = "a1c a23c a456c 123";
var re = /a(\d*)c/g;
我想匹配
a
c
之间的所有数字,并将其替换为
b
,结果是:

"abc abc abc 123"
怎么做?

试试这个

var str=“a1c a23c a456c 123”;
var re=/(a)(\d*)(c)/g;
控制台日志(str.replace(re,'1b$3'))试试这个

var str=“a1c a23c a456c 123”;
var re=/(a)(\d*)(c)/g;
控制台日志(str.replace(re,'1b$3'))请尝试以下操作:

var str = "a1c a23c a456c 123";
var newStr = str.replace(/\ba\d+c\b/g, "abc");
console.log(newStr);
试试这个:

var str = "a1c a23c a456c 123";
var newStr = str.replace(/\ba\d+c\b/g, "abc");
console.log(newStr);

这也会将“ac”替换为“abc”。如果我们不想,则正则表达式应该是
/(a)(\d+)(c)/g
不需要捕获组,因为两个字符都是静态的。这也会将“ac”替换为“abc”。如果我们不想,则正则表达式应该是
/(a)(\d+)(c)/g
不需要捕获组,因为这两个字符都是静态的。您的正则表达式也将匹配没有编号的
“ac”
,这是故意的吗?您的正则表达式也将匹配没有编号的
“ac”
,这是故意的吗?不需要捕获组
/\ba\d+c\b/g,'abc'
。不需要捕获组
/\ba\d+c\b/g,“abc”