使用掩码 RegEx 正则表达式定义小数最大值

Define a decimal max value with the mask RegEx regular expression

我需要为字段定义最大值。我正在使用掩码正则表达式 ([1-9]?[0-9])|(100),它在 1 到 100 之间的值下正常工作,但我需要的值是从 0,1 到100。 (我很抱歉我的英语错误)。

此正则表达式适用于 0.1 到 100 之间的任何十进制数:

^(100|([1-9]\d|[1-9])(\.\d+)?|0\.[1-9]\d*)$

解释:100 or ((10 到 99 之间的数字) or (1 到 9 之间的数字) 可能有十进制数字) or (0.1 到 0.9 之间的十进制数字,有十进制数字)

在 C# 控制台中使用以下代码进行测试

Regex r = new Regex(@"^(100|([1-9]\d|[1-9])(\.\d+)?|0\.[1-9]\d*)$");
while (true)
{
    Console.WriteLine(r.IsMatch(Console.ReadLine()));
}