javascript - 正则表达式 : Remove the characters after a certain match in JavaScript

标签 javascript regex

<分区>

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

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

输出应该是:

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

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

最佳答案

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

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

console.log(output)

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

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

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

console.log(output)

关于javascript - 正则表达式 : Remove the characters after a certain match in JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43883024/

相关文章:

Javascript addEventListener 麻烦

javascript - 在正则表达式本身中包含早期捕获的组

javascript - 正则表达式匹配同一单词的不同版本

c# - 如何从字符串中获取第一组字母字符?

regex - 与 shell-globbing 通配符和 Regex 的混淆

regex - 如何修剪和替换字符串

javascript - 如何接待 child 的 child ?

javascript - 如何在 JavaScript 中从字符串数组中搜索字符串?

javascript - 如何使用 Javascript 从 AWS S3 检索多个对象,然后在检索到它们后执行某个函数?

javascript - 使用 javascript 扩展上方的下拉区域而不是下方