regex – 任何大于0的数字的正则表达式?

前端之家收集整理的这篇文章主要介绍了regex – 任何大于0的数字的正则表达式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对MVC中的模型应用验证,并且想使用Regex。

希望验证我的模型上的ID在提交时大于0。

我不熟悉Regex …有人可以帮助我吗?

谢谢

我不知道MVC如何相关,但如果你的ID是一个整数,这个BRE应该做:
^[1-9][0-9]*$

如果你想匹配实数(浮点数)而不是整数,你需要处理上面的情况,正常的十进制数(例如2.5或3.3),你的模式在0和1(即0.25)之间的情况,如好的情况下,你的模式的小数部分为0.(即2.0)。虽然我们在它,我们将添加对整数(即005)前导零的支持

^(0*[1-9][0-9]*(\.[0-9]+)?|0+\.[0-9]*[1-9][0-9]*)$

注意,第二个是扩展RE。同样的事情可以在基本RE中表示,但是几乎所有的东西都理解ERE这些天。让我们把表达式分解成更容易消化的部分。

^(

插入符在行的开头匹配null,因此在你的正则表达式之前使用插入符将它锚定到行的开头。开始括号是因为or-bar,在下面。稍后再谈。

0*[1-9][0-9]*(\.[0-9]+)?

这可以匹配任何整数或任何大于1的浮点数。因此我们的2.0将匹配,但0.25不会匹配。开始处的0 *处理前导零,因此005 == 5。

|

在此上下文中,管道字符是“或 – 条”。为了评估该表达式,它具有比其他任何事物更高的优先级,并且有效地将两个正则表达式连接在一起。圆括号用于分隔由或条形分隔的多个表达式。

第二部分:

0+\.[0-9]*[1-9][0-9]*

这将匹配以一个或多个0字符开头的任何数字(用*替换以匹配零或多个零,即.25),后跟一个句点,后跟一个包含至少一个非0的数字字符串。所以这匹配0以上和1以下的一切。

)$

最后,我们关闭括号并将正则表达式锚定到带有美元符号的行的末尾,正如插入符锚定到行的开头。

当然,如果你让你的编程语言评价一些数字,而不是试图匹配一个正则表达式,你会节省头痛和cpu

猜你在找的正则表达式相关文章