求一个正则表达式 要求不能小于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
既然不能小于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
纯数字,还写正则干嘛,直接>=0.0001,不就完了