我对正则表达式有点新,并且正在编写需要使用正则表达式的数量字段的验证.
如何匹配大于或等于50的所有数字?
我试过了
[5-9][0-9]+
但这只匹配50-99.有没有一种简单的方法来匹配所有可能超过49的数字?(仅使用整数)
pim*_*vdb 87
第一个数字必须在范围内的事实5-9仅适用于两位数的情况.因此,在2位数的情况下检查,并允许更多数字直接:
^([5-9]\d|\d{3,})$
Run Code Online (Sandbox Code Playgroud)
此正则表达式具有开始/结束锚点,以确保您正在检查所有数字,并且字符串实际上代表一个数字.的|装置"或",所以任一[5-9]\d或任何数量的具有3个或多个数字.\d只是一个捷径[0-9].
编辑:禁止数字如下001:
^([5-9]\d|[1-9]\d{2,})$
Run Code Online (Sandbox Code Playgroud)
在3位或更多位的情况下,这迫使第一个数字不为零.
小智 21
我知道已经发布了一个很好的答案,但它不会允许前导零.我没有足够的声誉留下评论,所以......这是我的解决方案,允许前导零:
首先,我匹配数字50到99(可能的前导零):
0*[5-9]\d
Run Code Online (Sandbox Code Playgroud)
然后匹配100及以上的数字(也是前导零):
0*[1-9]\d{2,}
Run Code Online (Sandbox Code Playgroud)
将它们与"或"一起添加并将其包装起来以匹配整个句子:
^0*([1-9]\d{2,}|[5-9]\d)$
Run Code Online (Sandbox Code Playgroud)
而已!
| 归档时间: |
|
| 查看次数: |
105549 次 |
| 最近记录: |