我想檢查文件的名稱。它應該只接受信件,.XLSM的延伸擴展名爲c的文件正則表達式#
我嘗試這樣做:
^[A-ZA-Z] + $ XLSM
有誰能夠請解釋一下如果這個正則表達式正確的話。 ^,+,$是什麼意思?我應該添加什麼東西?
謝謝
我想檢查文件的名稱。它應該只接受信件,.XLSM的延伸擴展名爲c的文件正則表達式#
我嘗試這樣做:
^[A-ZA-Z] + $ XLSM
有誰能夠請解釋一下如果這個正則表達式正確的話。 ^,+,$是什麼意思?我應該添加什麼東西?
謝謝
下面是一個小小的摘要,但閱讀完整的文檔。
^表示開始 $表示結束 +表示該元素的一個或多個匹配 ?匹配0或1元件 [A-ZA-Z]是指在上部和下部殼體
string input;
string pattern = @"^[a-zA-Z]+\.xlsm";
Regex rgx = new Regex(pattern, RegexOptions.[put options]);
「afsbd.xlsmw23ew.xlsm」將打破這一點。你需要結尾$。 – Dispersia
我同意,雖然在這種情況下不是真正的時間場景,但最好是安全,然後對不起 –
試試這個方法:
var filename = "test.xlsm";
if (/\.(xlsm)$/i.test(filename)) {
alert("matched")
}
else
{
alert("not matched")
}
編輯
更好的方法c#
檢查擴展是這樣的:
var filepath = @"file.xlsm";
var extension = Path.GetExtension(filepath).ToUpper();
if (extension == ".XLSM") {
// is an Excel file with xlsm extension
}
甚至,if(filepath.EndsWith(「。xlsm」,StringComparison.CurrentCultureIgnoreCase)){}' – Quantic
^字母表示字符串的開頭,$表示字符串的結束。這意味着整個字符串必須與您的正則表達式匹配,而不僅僅是字符串的一部分。
[a-zA-Z]匹配從a到z(小寫和大寫)的每個字母字符。
+是量詞:在你的情況下,它是指在一排[A-ZA-Z] 1無窮OCCURENCES。
你想要的是這樣的:^+ XLSM $,看看這裏的解釋(這是一個正則表達式調試器):https://regex101.com/
你讀過關於如何使用'RegEx'任何文件? – MethodMan
你甚至讀過關於正則表達式實際工作的任何內容嗎?那裏有很多教程。 – HimBromBeere
'^'匹配字符串的開頭; '$'匹配字符串的末尾。這永遠不會匹配任何內容,因爲您在字符串結尾後試圖找到「.xlsm」。去[閱讀正則表達式](http://www.regular-expressions.info/)。 – adv12