我有一個字符串,需要是以下格式:XX999900
。 XX
必須是隻有字符無小數,後跟6位數。需要檢查一個字符串的格式在C#
所以我想通過以下方式使用正則表達式的:
string sPattern = @"^\\[A-z]{2}\\d{6}$";
indexNumber = "ab9999.00";
if (Regex.IsMatch(indexNumber, sPattern)
{
// do whatever
}
它失敗。 有人可以告訴我什麼是錯的?
我有一個字符串,需要是以下格式:XX999900
。 XX
必須是隻有字符無小數,後跟6位數。需要檢查一個字符串的格式在C#
所以我想通過以下方式使用正則表達式的:
string sPattern = @"^\\[A-z]{2}\\d{6}$";
indexNumber = "ab9999.00";
if (Regex.IsMatch(indexNumber, sPattern)
{
// do whatever
}
它失敗。 有人可以告訴我什麼是錯的?
你有太多的轉義字符。試試:
string sPattern = @"^[a-zA-Z]{2}\d{6}$";
它失敗了,因爲你正在測試的值是十進制數,你的正則表達式模式沒有。另外,您的正則表達式模式將會查看整個字符串。那就是^表示在字符串的開始處開始並且$表示字符串的結尾。如果你只想要一個「開始」,然後在模式結尾處放下$。
A-z
無效(混合大小寫),並且您沒有連續6位數字。你有4個小數點,然後是2個。嘗試
^[a-zA-Z]{2}\d{4}.\d{2}$
你能解釋什麼是有效的輸入和無效輸入?你的描述中有'XX999900'',但代碼中有''ab9999.00''(注意小數點)。正則表達式每個都會有所不同。 – Oded 2012-08-08 18:20:03
檢查Reg-ex在這裏,希望它會幫助你 http://www.regular-expressions.info/examples.html – KKP 2012-08-08 18:28:40