12

これをパターンとして使用しようとしたExcelファイルのみを選択するには、ファイルのアップロードに正規表現が必要です(以下)

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

残念ながら、「\.」をエスケープすることはできません。パターンの一部。

4

2 に答える 2

27

より良い方法は、 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?$");
于 2013-10-09T05:41:39.183 に答える
5

別のものを追加するか、次のように文字列の前に\追加するだけです:または@"^.\\.(xls|xlsx)"@"^.\.(xls|xlsx)"

また、ファイルの拡張子を実際のファイル名自体ではなく、その正規表現と一致させる必要があると想定しています。その正規表現はまたはで始まるものと一致するためです。.xls.xlsx

于 2013-10-09T05:42:10.360 に答える