我正在尝试从二进制文件中提取MP3文件名。我试图让这个正则表达式匹配所有的MP3和WAVE文件。以下是我到目前为止所拥有的:
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
发布于 2014-03-16 05:09:38
匹配这些文件的一个非常简单的正则表达式是:
string regex = @".*\.(mp3|wav)"但是,如果您能够将文件(在本例中是在/tmp目录中)解压缩到一个目录中,则可以使用:
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
}
}也是。
https://stackoverflow.com/questions/22433123
复制相似问题