我正在寻找一个只验证正数(整数)的正则表达式:
0-999,第一个数字不是0.
我的例子不起作用:
string pattern = @"^\d+$";
如何决定正数模式?
答案 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