我知道,已经有很多基于 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"}
我对正则表达式不太熟悉,也许你可以扩展这个给定的正则表达式,以获取文件扩展名?
最好的方法是,如果文件扩展名包含第三(第四)个值。例如:
return {
path: m[1],
file: m[2],
ext: m[3]
};
最佳答案
只需添加一个捕获组即可获取最后一个 \w+
:
var getPathParts = function(url) {
var m = url.match(/(.*)[\/\\]([^\/\\]+)\.(\w+)$/);
return {
path: m[1],
file: m[2],
ext: m[3]
};
};
关于javascript - 扩展 RegExp 以获取文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750913/