与 Excel 文件扩展名匹配的 C# 正则表达式

本文关键字:正则表达式 Excel 文件 扩展名 | 更新日期: 2023-09-27 18:34:26

我需要为我的文件上传选择一个正则表达式来仅选择 Excel 文件,我尝试将其用作我的模式(下图)

Regex reg = new Regex("^.'.(xls|xlsx)");

不幸的是,我无法逃脱模式的"''."部分。

与 Excel 文件扩展名匹配的 C# 正则表达式

更好的方法是使用 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 开头的任何内容。