これをパターンとして使用しようとした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)"
また、ファイルの拡張子を実際のファイル名自体ではなく、その正規表現と一致させる必要があると想定しています。その正規表現はまたはで始まるものと一致するためです。.xls
.xlsx