我需要一个正则表达式来上传文件,以仅选择我尝试使用它作为我的模式的 Excel 文件(下)
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)"
另外,我假设您应该将文件的扩展名与该正则表达式匹配,而不是实际的文件名本身,因为该正则表达式将匹配以or开头的任何内容。.xls
.xlsx