尝试使用JS .replace来替换带字符串的整数来解决一些正则表达式。
例如,字符串可以是:
var string = 'image[testing][hello][0][welcome]';
我想用另一个值替换'0'。我最初使用这个:
string.replace( /\[\d\]/g, '[newvalue]');
但是当我们开始更换两位数或更多(12,200,3204,你明白我的意思)时,它就会停止正常工作。不知道如何让它按照我想要的方式运行。
提前致谢。非常感谢。
答案 0 :(得分:11)
您需要指定多个数字:
string.replace( /\[\d+\]/g, '[newvalue]');
(注意演示使用jQuery迭代节点,但它只是一个方便,并且与正则表达式无关,它只是演示了它的功能。)
我认为你的原文不起作用的原因是因为\d
只匹配一个数字,而+
运算符/字符指定前一个(在本例中为数字)字符1或更多次。
参考:
答案 1 :(得分:3)
使用以下内容:
string.replace( /\[\d+\]/g, '[newvalue]');
这应匹配括号中的所有数字。