[英]Trying to match filenames in file with C# REGEX
Im trying to extract MP3 filenames from binary file. 我试图从二进制文件中提取MP3文件名。 Im trying to get this regular expression to match all mp3 AND WAVE files.. Here is what I have so far..
我正在尝试获取此正则表达式以匹配所有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);
MATCHES C:\\mp3\\Miami House\\New Adds 49\\Jungle_EP_(Life_In_The_Jungle_'Original_Mix')-SL-51-1(320k).mp3 MATCHES C:\\ mp3 \\ Miami House \\ New Adds 49 \\ Jungle_EP_(Life_In_The_Jungle_'Original_Mix')-SL-51-1(320k).mp3
DOES NOT MATCH C:\\mp3\\Miami House\\New Adds 49\\Each_&_Every_Day_Pt. 不匹配C:\\ mp3 \\ Miami House \\ New Adds 49 \\ Each _&_ Every_Day_Pt。 2 (Raw_Artistic_Soul_Vocal_Mix)-AR002-1(320k).mp3
2 (Raw_Artistic_Soul_Vocal_Mix)-AR002-1(320k).mp3
C:\\mp3\\Miami House\\New Adds C:\\mp3\\Miami House\\New Adds 49\\Jungle_EP_(Life_In_The_Jungle_'Original_Mix')-SL-51-1(320k).wav C:\\ mp3 \\ Miami House \\ New Add C:\\ mp3 \\ Miami House \\ New Adds 49 \\ Jungle_EP_(Life_In_The_Jungle_'Original_Mix')-SL-51-1(320k).wav
File Example here (IN UTF-8) http://savinet.net/fileexample.txt 此处的文件示例(IN UTF-8) http://savinet.net/fileexample.txt
A very simple regex to match such files is: 匹配此类文件的非常简单的正则表达式为:
string regex = @".*\.(mp3|wav)"
If you are however able to extract the files (in this case in the /tmp
directory) into a directory you can use: 但是,如果您能够将文件(在这种情况下位于
/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
}
}
as well. 也一样
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.