我正在尝试编写一个简单的正则表达式,但我不知道为什么它不起作用。
用户输入2位数字,例如01
,09
,23
,55
,直到82
。 82
系统拒绝后。
这是我的正则表达式,2个数字必须小于82。
0[1-9]|[1-8][0-9]|8[0-2]
答案 0 :(得分:7)
对于范围10-79,您应该[1-7]
,而不是[1-8]
。不要忘记^
和$
来指定字符串的开头和结尾:
^(0[1-9]|[1-7]\d|8[0-2])$
答案 1 :(得分:4)
为什么不转换为整数然后只测试x < 82
?
答案 2 :(得分:1)
你的第二部分是错的。它匹配从10到89,而你希望它匹配从10到79,让第三部分处理80到82.
0[1-9]|[1-7][0-9]|8[0-2]