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