Javascript 如何在正则表达式中解析捕获的块
我想增加“#”后面的数字。 我的职能:Javascript 如何在正则表达式中解析捕获的块,javascript,regex,Javascript,Regex,我想增加“#”后面的数字。 我的职能: let test=`#2*345+#1-#2-3+#1`; log(test.replace(/#([0-9])/g,`${$1'+1}`)//#21*345+#11-#21-3 log(test.replace(/#([0-9])/g,`${parseInt('$1')+1}`)//#NaN*345+#NaN-#NaN-3 //但是我的预期结果是“#3*345+#2-#3-3”在计算模板文本之后发生组替换。请改用替换函数: let test=`#2*
let test=`#2*345+#1-#2-3+#1`;
log(test.replace(/#([0-9])/g,`${$1'+1}`)//#21*345+#11-#21-3
log(test.replace(/#([0-9])/g,`${parseInt('$1')+1}`)//#NaN*345+#NaN-#NaN-3
//但是我的预期结果是“#3*345+#2-#3-3”
在计算模板文本之后发生组替换。请改用替换函数:
let test=`#2*345+#1-#2-3+#1`;
log(test.replace(/#([0-9])/g,(#,num)=>`${parseInt(num)+1}`)代码>您可以使用replace的回调函数
let test=`#2*345+#1-#2-3+#1`;
设op=test.replace(/#([0-9])/g,(match,g1)=>`${parseInt(g1)+1}`);
控制台日志(op)