如何解决数字检查的正则表达式低于一个值
| 我仍然是regex的初学者,所以目前这个水平比我高一点。 我需要验证输入到两个字符的数字,并且不能超过值12。 这两个数字很简单:/^\\d{1,2}$/
然后检查是否有两个数字,然后第一个必须为0或1,第二个必须为0、1或2。
我不知道该如何定期表达这一部分...
而且,如果可能的话,我想在单个正则表达式中使用它。
任何帮助表示赞赏。
解决方法
正则表达式不适合处理这样的范围,但是无论如何这应该起作用:
/^(0?[1-9]|1[012])$/
描述:
^ match start of the string
(0? optional zero
[1-9] any number between 1 and 9
|1[012]) or match 1 followed by either a 0,1,2 i.e. 10,11,12.
$ match end of string
,对于这样的事情(测试整数是否小于给定值),您实际上不应该使用正则表达式。
相反,只需使用这样的简单条件(语法将取决于您使用的语言):
if ($variable <= 12) {
// OK
}
else {
// Not OK
}
,对于\“ x或y或z或... \”字符,存在字符类,用方括号表示:
[012]
表示\“0
,1
或2
\的任何字符”。
,(0[0-9])|(1[0-2])
匹配一个零,后跟一个任意数字,或一个,后跟0、1或2
,0 [0-9] | 1 [0-2]
Description:
[0-9] : number between 00 and 09
| : or
1[0-2] : and if starting with 1,next number should be between 0 -1 (testing 10-12)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。