首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配单个Regex中的文件名和文件扩展名

匹配单个Regex中的文件名和文件扩展名
EN

Stack Overflow用户
提问于 2012-01-25 18:58:38
回答 7查看 60.3K关注 0票数 13

我相信这一定很简单,但我在努力...

代码语言:javascript
复制
var regexFileName = /[^\\]*$/; // match filename
var regexFileExtension = /(\w+)$/; // match file extension

function displayUpload() {
    var path = $el.val(); //This is a file input
    var filename = path.match(regexFileName); // returns  file name
    var extension = filename[0].match(regexFileExtension); // returns extension

    console.log("The filename is " + filename[0]);
    console.log("The extension is " + extension[0]);
}

上面的函数运行得很好,但我确信它必须能够用一个正则表达式来实现,通过引用.match()方法返回的数组的不同部分来实现。我尝试组合这些正则表达式,但没有成功。

此外,我没有在示例中使用字符串对其进行测试,因为console.log()转义了文件路径中的反斜杠,这让我开始感到困惑:)

EN

Stack Overflow用户

发布于 2013-06-25 22:39:48

我认为这是一种更好的方法,因为只匹配有效的目录、文件名和扩展名。并且还对路径、文件名和文件扩展名进行分组。并且也仅适用于空路径的文件名。

代码语言:javascript
复制
^([\w\/]*?)([\w\.]*)\.(\w)$

测试用例

代码语言:javascript
复制
the/p0090Aath/fav.min.icon.png
the/p0090Aath/fav.min.icon.html
the/p009_0Aath/fav.m45in.icon.css
fav.m45in.icon.css
favicon.ico

输出

代码语言:javascript
复制
[the/p0090Aath/][fav.min.icon][png]
[the/p0090Aath/][fav.min.icon][html]
[the/p009_0Aath/][fav.m45in.icon][css]
[][fav.m45in.icon][css]
[][favicon][ico]
票数 0
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9001557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档