2016-01-04 35 views
-1

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

+0

只是分析你的字段值加倍,并检查它的值是0.1和100之间? –

+0

但我需要做一个面具。谢谢 –

+0

为什么你需要用RegEx来做到这一点?家庭作业? – Jannik

回答

1

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

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

说明:100或((10和99之间的数)或(1之间号和9)可能与十进制数字)或(与小数位数在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())); 
} 
+0

“**从0,1 **到100”,你的正则表达式只检查1。 –

+0

谢谢,但它不工作。值必须从0.1到100.我在代码中,但我必须使用正则表达式。 –

+0

例如,正则表达式不适用于值10,x。 –