繁体   English   中英

尝试使用C#REGEX匹配文件中的文件名

[英]Trying to match filenames in file with C# REGEX

我试图从二进制文件中提取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);

MATCHES 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 Add 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

匹配此类文件的非常简单的正则表达式为:

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
    }
}

也一样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM