正则表达式用Javascript替换$ nth元素

时间:2014-06-04 08:13:22

标签: javascript regex

我是否可以用特定字符串替换$n元素? 在我的示例中,$1元素。

例如,我想替换url的最后一个元素 "http://my.domain.com/sub/file.extension"我的字符串"other.other"

我的正则表达式是这样的:/([^/]+)\.extension$

但它也取代了“file”之前的斜杠。

这是一个完整的例子:

var url = "http://my.domain.com/sub/file.extension";
var replace = "other.other";
var regex = new RegExp("/([^/]+)$");
console.log(url.replace(regex,replace));

我知道我可以在我的替换中添加斜杠,如下所示:var replace = "/other.other";但我想要一种不同的方法,我也可以在其他项目中使用。

简而言之,我正在寻找一种可以替换没有分隔符的东西替换为。

的可能性

PS: 我读到了一些关于积极前瞻的内容,但我无法让它发挥作用。 我知道this Postthis Post,但这不是我想要的。

2 个答案:

答案 0 :(得分:1)

您的代码中进行了一些小改动。请尝试以下代码并检查

var url = "http://my.domain.com/sub/file.extension";
var replace = "other.other";
var regex = new RegExp("([^/]+)$");
console.log(url.replace(regex,replace));

答案 1 :(得分:0)

var url = "http://my.domain.com/sub/file.extension";
url = url.split("/");
url.pop();
url.push("other.other");
url = url.join("/");
console.log(url);

enter image description here