RegExp:删除 JavaScript 中某个匹配后的字符

Cha*_*ang 1 javascript regex

我想删除/blog/url之后的所有内容,这是输入:

http://domain-name.com/blog/a-blog-title

输出应该是:

http://domain-name.com/blog/

我的正则表达式是\/blog\/.*,但这也可以删除/blog/。显然我不想要这个。有没有具体的方法可以删除字符而忽略匹配部分?提前致谢。

nnn*_*nnn 5

有几种方法可以做到这一点。这是一个:

var output = "http://domain-name.com/blog/a-blog-title".replace(/\/blog\/.*/, "/blog/")

console.log(output)
Run Code Online (Sandbox Code Playgroud)

也就是说,匹配要保留的位和要丢弃的位,但替换为要保留的位而不是空字符串。

您可以通过在正则表达式中引入捕获括号来使替换字符串更通用:

var output = "http://domain-name.com/blog/a-blog-title".replace(/(\/blog\/).*/, "$1")

console.log(output)
Run Code Online (Sandbox Code Playgroud)