【问题标题】:Extend RegExp to get the file extension扩展 RegExp 以获取文件扩展名
【发布时间】:2013-02-07 12:16:53
【问题描述】:

我知道,已经有很多基于 RegExp 的解决方案,但是我找不到适合我需要的解决方案。

我有以下函数来获取 URL 的各个部分,但我还需要文件扩展名。

var getPathParts = function(url) {
    var m = url.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/);
    return {
        path: m[1],
        file: m[2]
    };
};

var url = 'path/to/myfile.ext';
getPathParts(url); // Object {path: "path/to", file: "myfile"} 

我对正则表达式不是很熟悉,也许你可以扩展这个给定的正则表达式,以获得文件扩展名?

最好的方法是,如果文件扩展名包含第三(4)个值。例如:

return {
    path: m[1],
    file: m[2],
    ext: m[3]
};

【问题讨论】:

  • 你能举例说明你到底想匹配和检索什么吗?
  • @Expressions_Galore 更新了问题:)

标签: javascript regex url filepath


【解决方案1】:

只需添加一个捕获组即可获取最后一个\w+

var getPathParts = function(url) {
    var m = url.match(/(.*)[\/\\]([^\/\\]+)\.(\w+)$/);
    return {
        path: m[1],
        file: m[2],
        ext: m[3]
    };
};

【讨论】:

  • 不错!在file: m[2] 之后添加缺少的逗号,它是完美的:-*
  • @yckart 添加了逗号。谢谢。
猜你喜欢
  • 2012-06-07
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-14
  • 2012-03-24
相关资源
最近更新 更多