10

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

例如,字符串可以是:

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

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

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

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

提前致谢。非常感激。

4

2 回答 2

18

您需要指定多个数字:

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

JS 小提琴演示

(注意这个demo使用jQuery来遍历节点,不过只是为了方便,与正则表达式无关,只是演示了它的功能。)

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

参考:

于 2012-07-30T22:37:18.860 回答
3

使用以下内容:

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

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

于 2012-07-30T22:37:03.627 回答