使用正则表达式替换Javascript字符串

时间:2012-06-03 23:46:25

标签: javascript regex

提供以下字符串:

http://foobar.com/trusted/123/views/AnalyticsInc

..其中123将是0到9999999之间的任意数字,我需要能够用不同的值动态替换所述值

我认为解决这个问题的最佳方法是使用某种正则表达式模式执行string.replace,因为我们可以指望“/ trusted /”和“/ views /”将始终包含的值需要换掉。

var foo='http://foobar.com/trusted/123/views/AnalyticsInc';
var newvalue=654321;
magic(); //magic happens here
console.log(foo); //returns http://foobar.com/trusted/654321/views/...etc

但是我的正则表演功夫太弱了我无法击败一只小猫。有人可以帮我一把吗?或者如果有更好的方法,我很乐意学习它。谢谢!

1 个答案:

答案 0 :(得分:2)

它将在foo字符串中替换第0次出现的数字:0到9999999:

foo = foo.replace(/\d{1,7}/, newvalue);

DEMO: http://jsfiddle.net/D4teZ/