我试图从二进制文件中提取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 \ Miami House \ New Adds 49 \ Jungle_EP_(Life_In_The_Jungle_'Original_Mix') - SL-51-1(320k).mp3
不匹配 C:\ mp3 \ Miami House \ New Adds 49 \ Each_& _Every_Day_Pt。 2 (Raw_Artistic_Soul_Vocal_Mix)-AR002-1(320k).mp3
C:\ mp3 \ Miami House \ New添加C:\ mp3 \ Miami House \ New Adds 49 \ Jungle_EP_(Life_In_The_Jungle_'Original_Mix') - SL-51-1(320k).wav
此处的文件示例(IN UTF-8) http://savinet.net/fileexample.txt
答案 0 :(得分:0)
匹配此类文件的一个非常简单的正则表达式是:
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
}
}
。