正则表达式c#只有正数

时间:2013-05-20 10:13:30

标签: c# regex

我正在寻找一个只验证正数(整数)的正则表达式:

0-999,第一个数字不是0.

我的例子不起作用:

string pattern = @"^\d+$";

如何决定正数模式?

6 个答案:

答案 0 :(得分:14)

你可以强制第一个数字为1-9,然后跟随它有任何数字或没有数字,就像这样;

string pattern = @"^[1-9]\d*$";

您还可以通过在其上加上编号约束来限制数字量。

string pattern = @"^[1-9]\d{0,2}$";

最上面一个将接受任何正整数> 0,而底部一个只接受1-999。

答案 1 :(得分:4)

怎么样

@"^[1-9]\d?\d?$"

1-9后跟2个可选数字?

答案 2 :(得分:2)

使用此正则表达式^[1-9]\d{0,2}$

答案 3 :(得分:2)

如果您只想验证输入,为什么不使用TryParse?

Regular Expression for positive numbers in C#

        double result = 0;
        if (Double.TryParse(myString, out result))
        {
            // Your conditions
            if (result > 0 && result < 1000)
            {
                // Your number
            }
        }

答案 4 :(得分:0)

您可以在线使用许多有用的正则表达式工具,例如http://gskinner.com/RegExr/

有很多可以使用的示例,您可以从这些示例开始获得自己的示例!

答案 5 :(得分:-1)

逗号后带两位数的正数:

\d*\,\d\d