试图用JS .replace来用字符串替换一个整数来使我正视某些正则表达式。
例如,字符串可以是:
var string = 'image[testing][hello][0][welcome]';
我想将“0”替换为另一个值。我最初使用的是:
string.replace( /\[\d\]/g, '[newvalue]');
但是,当我们开始替换两位数或更多位数(12、200、3204,您明白我的意思)时,它将停止正常工作。不确定如何使其按我想要的方式工作。
提前致谢。非常感激。
最佳答案
您需要指定多个数字:
string.replace( /\[\d+\]/g, '[newvalue]');
JS Fiddle demo
(请注意,该演示使用jQuery遍历节点,但这只是一种便利,并且与正则表达式无关,只是演示了其功能。)
我认为您的原始图片不起作用的原因是
\d
仅匹配一个数字,而+
运算符/字符一次或多次指定了前面的字符(在这种情况下为数字)。引用:
关于javascript - JS正则表达式替换编号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11730688/