JS正则表达式替换数字

时间:2012-07-30 22:33:42

标签: javascript regex

尝试使用JS .replace来替换带字符串的整数来解决一些正则表达式。

例如,字符串可以是:

var string = 'image[testing][hello][0][welcome]';

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

string.replace( /\[\d\]/g, '[newvalue]');

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

提前致谢。非常感谢。

2 个答案:

答案 0 :(得分:11)

您需要指定多个数字:

string.replace( /\[\d+\]/g, '[newvalue]');

JS Fiddle demo

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

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

参考:

答案 1 :(得分:3)

使用以下内容:

string.replace( /\[\d+\]/g, '[newvalue]');

这应匹配括号中的所有数字。