JS正则表达式替换数字

Mat*_*ddy 7 javascript regex

尝试使用JS .replace来替换带字符串的整数.

例如,字符串可以是:

var string = 'image[testing][hello][0][welcome]';
Run Code Online (Sandbox Code Playgroud)

我想用另一个值替换'0'.我最初使用这个:

string.replace( /\[\d\]/g, '[newvalue]');
Run Code Online (Sandbox Code Playgroud)

但是当我们开始更换两位数或更多(12,200,3204,你明白我的意思)时,它就会停止正常工作.不知道如何让它按照我想要的方式运行.

提前致谢.非常感激.

Dav*_*mas 11

您需要指定多个数字:

string.replace( /\[\d+\]/g, '[newvalue]');
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示

(注意演示使用jQuery迭代节点,但它只是一个方便,并且与正则表达式无关,它只是演示了它的功能.)

我认为原因不起作用的原因是因为\d匹配只有一个数字,而+运算符/字符指定前一个(在本例中为数字)字符一次或多次.

参考: