次のような入力文字列を検証したい
5.0 is correct
5.5% is correct
だから私は次のコードから始めました:
string decimalstring1 = "10000.55";
string decimalstring2 = "5%5%";
string expression = @"^\d|\d%";
Regex objNotNumberPattern = new Regex(expression);
Console.WriteLine(objNotNumberPattern.IsMatch(decimalstring1));
Console.WriteLine(objNotNumberPattern.IsMatch(decimalstring2));
Console.ReadLine();
しかし、問題は、5%5%のような入力でそれが与えることです correct
この式を変更してこれを機能させるにはどうすればよいですか?
string[] inputs = new string[] {
"1000.55",
"1000.65%",
"100",
"100%",
"1400%",
"5.5",
"5.5%",
"x",
".%"
};
string expression = @"^\d+[.]?\d*%?$";
Regex objNotNumberPattern = new Regex(expression);
foreach (var item in inputs)
Console.WriteLine(objNotNumberPattern.IsMatch(item));
更新
string expression = @"^(\d+|\d+[.]\d+)%?$";
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加