首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将文件中的文件名与C#正则表达式匹配

如何将文件中的文件名与C#正则表达式匹配
EN

Stack Overflow用户
提问于 2014-03-16 04:56:28
回答 1查看 518关注 0票数 0

我正在尝试从二进制文件中提取MP3文件名。我试图让这个正则表达式匹配所有的MP3和WAVE文件。以下是我到目前为止所拥有的:

代码语言:javascript
运行
复制
System.Text.RegularExpressions.MatchCollection  m = System.Text.RegularExpressions.Regex.Matches(rosText, @"(\w:\\(?:\w+(?:\s+\w+)*\\)*[-_\w\s\d.\(\)\'\[\]]*\.mp3)",System.Text.RegularExpressions.RegexOptions.IgnoreCase);

火柴

C:\MP3\迈阿密之家\新增49\Jungle_EP_(Life_In_The_Jungle_'Original_Mix')-SL-51-1(320k).mp3

不匹配

C:\MP3\迈阿密之家\新增49\Each_&_Every_Day_Pt.2(Raw_Artistic_Soul_Vocal_Mix)-AR002-1(320k).mp3 C:\MP3\迈阿密豪斯\新添加C:\MP3\迈阿密豪斯\新添加49\Jungle_EP_(Life_In_The_Jungle_'Original_Mix')-SL-51-1(320k).wav

这里的文件示例(在UTF-8中):http://savinet.net/fileexample.txt

EN

回答 1

Stack Overflow用户

发布于 2014-03-16 05:09:38

匹配这些文件的一个非常简单的正则表达式是:

代码语言:javascript
运行
复制
string regex = @".*\.(mp3|wav)"

但是,如果您能够将文件(在本例中是在/tmp目录中)解压缩到一个目录中,则可以使用:

代码语言:javascript
运行
复制
foreach (var file in Directory.EnumerateFiles ("/tmp", "*.mp3")) {
    try {
        //do something
    } catch {
        ; // optionally report error
    }
}
foreach (var file in Directory.EnumerateFiles ("/tmp", "*.wav")) {
    try {
        //do something
    } catch {
        ; // optionally report error
    }
}

也是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22433123

复制
相关文章

相似问题

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