我认为标题是描述性的
有效的:0.1, 0.15, 0.25, .... and 1
如何包含1
是这里的主要挑战。谢谢。
更新
对不起,我不能写代码。这是一个遗留应用程序,我无权访问源代码。应用程序验证方法已嵌入,并且正在使用应用程序中嵌入的正则表达式验证器
正则表达式允许您在模式之间进行选择(即:匹配模式 A 或模式 B)。您可以使用 | 字符(例如:A|B)。
试试这个:
^(0(\.[0-9]+)?|1(\.0+)?)$
这不是正则表达式解决方案,因为我认为正则表达式不是一个好的解决方案。我会这样做:
string n = "0.1";
decimal number;
bool isNumber = Decimal.TryParse(n, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out number);
return isNumber && number >= 0 && number <= 1;
也许这会有所帮助:
^(?:(?:0)(?:\.\d+)?)|(?:1)(?:\.0+)?$