求一个正则表达式 要求不能小于0.0001 可以等于 不能是负整数

求一个正则表达式 要求不能小于0.0001 可以等于 不能是负整数

还得把0排除

 using System;
using System.Text.RegularExpressions;

public class Test
{
    public static void Main()
    {
        // your code goes here
        string[] test = { "1.23", "123.45", "111", "12", "1", "0", "0.01", "0.0001", "0.00011", "0.000098", "1.000001", "-1.23" };
        foreach (var item in test)
        {
            var r = Regex.IsMatch(item, @"^(?!0\.0000)(?!^0$)\d+(\.\d+){0,1}");
            Console.WriteLine(item + ": " + r);
        }
    }
} 

1.23: True
123.45: True
111: True
12: True
1: True
0: False
0.01: True
0.0001: True
0.00011: True
0.000098: False
1.000001: True
-1.23: False

http://ideone.com/bLtdh9

既然不能小于0.0001,那么显然所有负数都不满足了,为什么又说不能是负整数?

 (?!0.0000)\d+(\.\d+)
using System;
using System.Text.RegularExpressions;

public class Test
{
    public static void Main()
    {
        // your code goes here
        string[] test = { "1.23", "123.45", "111", "0", "0.01", "0.0001", "0.00011", "0.000098", "1.000001", "-1.23" };
        foreach (var item in test)
        {
            var r = Regex.IsMatch(item, @"^(?!0\.0000)\d+(\.\d+){0,1}");
            Console.WriteLine(item + ": " + r);
        }
    }
} 

1.23: True
123.45: True
111: True
0: True
0.01: True
0.0001: True
0.00011: True
0.000098: False
1.000001: True
-1.23: False

http://ideone.com/hyjTql

纯数字,还写正则干嘛,直接>=0.0001,不就完了