Javascript 匹配以从 URL 中删除部分文件名 - 替换最后一次出现

标签 javascript string replace

我有这个图片网址:http://files.myweb.com/12/06/002_xz808/normal_paris_01.jpg

我需要得到这个 http://files.myweb.com/12/06/002_xz808/paris_01.jpg

我不能在 "normal_" 上使用简单的替换函数,因为这个关键字可能会意外出现在其路径中的文件名之前。我需要在最后一个 "normal_" 中使用它,但我不知道如何使用。请帮忙。

最佳答案

希望对您有所帮助:

function replNormal(normal) {
    return normal.replace(/^(.*)normal\_(.*?)$/, '$1$2');
}
console.log(replNormal("http://files.myweb.com/12/06/normal_002_xz808/normal_paris_01.jpg"));

前面的正则表达式中的捕获组(括号内的部分)是贪心的,然后是惰性的。

贪婪的 (.*) 想要在停止捕获之前尽可能地扩展。

懒惰的 (.*?) 想要在满足捕获要求后尽快退出。

替换字符串中的反向引用告诉它将它在第一和第二捕获组中找到的内容直接连接在一起,跳过未捕获的 normal_

关于Javascript 匹配以从 URL 中删除部分文件名 - 替换最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12188561/

相关文章:

javascript - ComponentwillMount 被调用了两次

javascript - 当 jquery 显示另一个 div 时,我如何隐藏一个 div?

c# - 多次比较字符串

Javascript 替换为正则表达式无法正常工作

linux - 如何替换Bash中N个重复的特殊字符?

javascript - getImageURI() 不适用于 orgchart by google

javascript - CSS 使用媒体查询(或 jQuery)将所有元素的宽度加倍

string - 是否有一个Lua string.find没有模式

c - 一个程序,给定一个字符串、一个宽度和一个用于输出的空字符串,该程序将字符串置于输出区域的中心。

java - 搜索并删除字符串中的特定字符