正则表达式为0.0到1

时间:2012-09-04 17:17:43

标签: c# regex

我认为标题是描述性的

有效:0.1, 0.15, 0.25, .... and 1

如何包含1是这里的主要挑战。感谢。

更新

抱歉,我无法编写代码。这是一个我无法访问源代码的遗留应用程序。应用程序验证方法已经嵌入,并且正在使用嵌入在应用程序中的RegularExpression验证器

3 个答案:

答案 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+)?$