2

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

0-999 和第一个数字不是 0。

我的例子不起作用:

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

如何决定正数模式?

4

6 回答 6

17

您可以强制第一个数字为 1-9,然后在其后有任何数字或没有数字,如下所示;

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

您还可以通过对其进行编号限制来限制位数。

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

顶部的将接受任何大于 0 的正整数,而底部的将仅接受 1-999。

于 2013-05-20T10:16:21.990 回答
5

怎么样

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

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

于 2013-05-20T10:16:02.780 回答
2

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

C#中正数的正则表达式

        double result = 0;
        if (Double.TryParse(myString, out result))
        {
            // Your conditions
            if (result > 0 && result < 1000)
            {
                // Your number
            }
        }
于 2013-05-20T10:25:45.790 回答
2

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

于 2013-05-20T10:16:38.000 回答
0

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

有很多现成的示例,您可以从中开始获取自己的示例!

于 2013-05-20T10:22:19.517 回答
-1

逗号后两位数的正数:

\d*\,\d\d
于 2016-11-17T13:39:38.757 回答