Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用正则表达式获取最后一个段/文件的URL_Javascript_Regex_Unix - Fatal编程技术网

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(/\/[^/]+$/, '/')