试图用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 Regular Expressions, at the Mozilla Developer Network
  • 关于javascript - JS正则表达式替换编号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11730688/

    10-16 19:18