我想使用正則表達式來獲得沒有擴展名的文件名。我無法讓正則表達式返回一個值。我有這樣的:C#正則表達式獲取沒有擴展名的文件名?
string path = @"C:\PERSONAL\TEST\TESTFILE.PDF";
var name = Regex.Match(path, @"(.+?)(\.[^\.]+$|$)").Value;
在這種情況下,name
總是回來爲C:\PERSONAL\TEST\TESTFILE.PDF
。我做錯了什麼,我認爲我的搜索模式是正確的?
(我知道我可以使用Path.GetFileNameWithoutExtension(path);
但我特別想嘗試使用正則表達式)
爲何要使用這個時候一個非常好的框架方法存在一個正則表達式?你可以使用一個正則表達式,但是你手上還會有一個額外的問題。 – Amy
但爲什麼?尋找[麻煩](https://blog.codinghorror.com/regular-expressions-now-you-have-two-problems)? – dlatikay
如果這只是爲了學習正則表達式,那很好,但是對此使用正則表達式絕對沒有理由。事實上,我認爲在解決大多數問題時,正則表達式應該是您的最後手段。 – juharr