我正在寻找一个仅验证正数(整数)的正则表达式:
0-999 和第一个数字不是 0。
我的例子不起作用:
string pattern = @"^\d+$";
如何决定正数模式?
您可以强制第一个数字为 1-9,然后在其后有任何数字或没有数字,如下所示;
string pattern = @"^[1-9]\d*$";
您还可以通过对其进行编号限制来限制位数。
string pattern = @"^[1-9]\d{0,2}$";
顶部的将接受任何大于 0 的正整数,而底部的将仅接受 1-999。
怎么样
@"^[1-9]\d?\d?$"
1-9 后跟 2 个可选数字?
如果您只想验证输入,为什么不使用 TryParse?
double result = 0;
if (Double.TryParse(myString, out result))
{
// Your conditions
if (result > 0 && result < 1000)
{
// Your number
}
}
使用这个正则表达式^[1-9]\d{0,2}$
您可以在线使用很多有用的正则表达式工具,例如http://gskinner.com/RegExr/
有很多现成的示例,您可以从中开始获取自己的示例!
逗号后两位数的正数:
\d*\,\d\d