我試圖找到一些文件名寫入以'K.TIF'結尾的日誌文件中。c#中的正則表達式在日誌中查找文件
我試圖找到:
20130629VGM180ZZ001001K.TIF
20130629VGM180ZZ001002K.TIF
等
正如我在正則表達式的很可怕的,我想這一點:
Regex.Match(line, @"([A-Z0-9]+){23}\.TIF", RegexOptions.IgnoreCase);
Regex.Match(line, @"(?<=\\)(.>)(?=K\.TIF){23}", RegexOptions.IgnoreCase);
第一個是可怕的,沒有按沒有表現,並給出不好的結果。
如果我將K \更改爲Z,第二個實際上會給出以Z.TIF結尾的所有TIF。但是,它沒有找到任何與當前正則表達式匹配的K.TIF。
如果性能是一個問題,使用靜態編譯的正則表達式,像這樣:'靜態正則表達式_matcher =新的正則表達式(@「......」,RegexOptions.IgnoreCase | RegexOptions.Compiled)',在你的檢查中你只需執行'_matcher.Match(line)'。應該**很多**更快。第一個不應該有性能問題。 – Alxandr
此外,你應該改變'@「([A-Z0-9] +){23} \。TIF」'爲'@「[a-z0-9 \\] K \ .TIF」' – Alxandr