我需要一個正則表達式爲我的文件上傳只選擇練成我試着用這個文件作爲我的模式(下)C#正則表達式的文件擴展名
Regex reg = new Regex("^.\.(xls|xlsx)");
不幸的是我無法逃避的「\」。模式的一部分。有人可以給我一個解決方案。
我需要一個正則表達式爲我的文件上傳只選擇練成我試着用這個文件作爲我的模式(下)C#正則表達式的文件擴展名
Regex reg = new Regex("^.\.(xls|xlsx)");
不幸的是我無法逃避的「\」。模式的一部分。有人可以給我一個解決方案。
一個更好的方法是使用Path.GetExtension,然後比較結果:
var filepath = @"C:\path\to\file.xls";
var extension = Path.GetExtension(filepath).ToUpper();
if (extension == ".XLS" || extension == ".XLSX") {
// is an Excel file
}
要回答原來的問題,以配合.xls
或.xlsx
文件路徑爲文件擴展名,使用下面的正則表達式:
var regex = new Regex(@".*\.xlsx?$");
只需要添加另外\
或在像這樣的字符串前添加@
:"^.\\.(xls|xlsx)"
或@"^.\.(xls|xlsx)"
此外,我假設你應本身的匹配與正則表達式的文件的擴展名,而不是實際的文件名,因爲這正則表達式將匹配開始與.xls
或.xlsx
什麼。
確定此操作! TNX! – zxc
你嘗試過這種類似 http://stackoverflow.com/questions/374930/validating-file-types-by-regular-expression – Ravi
@Ravi問題即時得到是轉義序列「」 – zxc
你能發佈完整代碼嗎 – Amit