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