正则表达式匹配网址中的文件名

时间:2012-06-04 16:42:34

标签: regex filenames

我想在javascript中从网址路径(不包含域名)中删除任何文件名。

路径看起来像这样:

/something/myfile.html?d=var

/something/myfile.html

这是所需的输出:

/something/

有时网址会像这样传入:

/something/else

我不希望'其他'被剥夺。换句话说,在我的情况下,在最后一次斜线之后简单地剥离所有内容的正则表达式将不起作用。

编辑:为了澄清,我认为任何文件名都是。经过如上所述的正斜线后。

1 个答案:

答案 0 :(得分:2)

删除与以下正则表达式匹配的内容:

[^/?]*\.[^/?]*(\?.*)?$

或者真的

[^/?#]*\.[^/?#]*(\?.*)?(\#.*)?$

不要忘记在剩下的内容上使用decodeURIComponent