[英]Regular expression to validate string format to specific length with csv
我正在嘗試編寫一個正則表達式來驗證文本框是否只有長度為5或9的數字。我找到了以下正則表達式來完成此操作
^\d{1,5}([,]\d{5})*$
但是它不能正確地滿足我的要求,任何人都可以幫助我修改或編寫支持以下模式的新正則表達式。
請嘗試以下操作:
var lines = new []
{
"09103,09101,",
"09103,09101",
"12345,1234567",
"12345,123456789",
"12345"
};
var re = new Regex(@"^\d{1,5}(,(\d{5}|\d{9}))?,?$");
foreach (var line in lines)
{
Console.WriteLine("{0} = {1}", line, re.IsMatch(line) ? "Valid" : "Invalid");
}
產量
09103,09101, = Valid
09103,09101 = Valid
12345,1234567 = Invalid
12345,123456789 = Valid
12345 = Valid
您可以在此處運行它: C#小提琴
嘗試一下,以獲取確切的測試用例。
^\d{5},?$|^\d{5},\d{5},?$|^\d{5},\d{9},?$
它使用|
字符以分隔“替代”模式,將其讀取為“或”。 即
^\d{5}$ OR ^\d{5},\d{5}$ OR ^\d{5},\d{9}$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.