Javascript 使用正则表达式获取最后一个段/文件的URL
寻找一个正则表达式,这样我可以抓住一切,但最后一段+扩展 比如说Javascript 使用正则表达式获取最后一个段/文件的URL,javascript,regex,unix,Javascript,Regex,Unix,寻找一个正则表达式,这样我可以抓住一切,但最后一段+扩展 比如说 http://stackoverflow.com/stuff/code/apple.jpg 我需要 http://stackoverflow.com/stuff/code/ 我能够抓取最后一段,但由于这些图像可能位于无数可能的目录下,我不确定如何在没有最后一段的情况下获取所有内容。Code 您甚至可以简单地使用*\/(如果您不需要确保它以http或https开头)。如果是这种情况,您也可以在最后一次出现/时进行拆分-请参阅下
http://stackoverflow.com/stuff/code/apple.jpg
我需要
http://stackoverflow.com/stuff/code/
我能够抓取最后一段,但由于这些图像可能位于无数可能的目录下,我不确定如何在没有最后一段的情况下获取所有内容。Code
您甚至可以简单地使用*\/
(如果您不需要确保它以http
或https
开头)。如果是这种情况,您也可以在最后一次出现/
时进行拆分-请参阅下面的第二个代码段(它是隐藏的,所以请展开它)
var s=”http://stackoverflow.com/stuff/code/apple.jpg"
var r=/https?:\/{2}*\//
console.log(r.exec(s))
编辑:我刚刚注意到您需要后面的/
字符,并更新了我的答案以满足该要求。请参见代码中的注释行
这里有一个unixshell解决方案
var="http://stackoverflow.com/stuff/code/apple.jpg"
echo "${var%/*}/"
#--------------^-- we've deleted everything from that last / to end
#--------------+ just append a replacment char /
输出
http://stackoverflow.com/stuff/code/
%
是一种参数扩展功能,可删除最小的后缀模式。
有关此功能和类似功能的详细信息,请参阅。(转到页面底部)
IHTH如果您能够操纵管柱,您可以使用此操作移除端件:
var str = "http://stackoverflow.com/stuff/code/apple.jpg"
str = str.replace(/\/[^/]+$/, '/')
正则表达式解释:
匹配斜杠\/
匹配一个没有[^/]+$
字符的字符串,并持续到该字符串的末尾/
这将用
/
替换/apple.jpg
,因此您想删除.com
和apple.jpg
?您有unix
标记-这是否意味着您想使用unix工具做点什么?@ctwheels抱歉,输入错误,请离开。com@GavinGregory编辑了我的答案。@GavinGregory:我也更新了我的答案;-)。祝大家好运。
var str = "http://stackoverflow.com/stuff/code/apple.jpg"
str = str.replace(/\/[^/]+$/, '/')