簡體   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