如何编写与0或000到180的数字范围匹配的正则表达式?
3 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
最简单的方法是将字符串解析为数字,然后寻找该数字是否在适当的范围内。
要使用纯正则表达式执行此操作,您需要识别模式并将其写出:
^(0?[0-9]{1,2}|1[0-7][0-9]|180)$
这有三种选择:一种用于一位数字和两位数字(允许前导零),其中每个数字可以是0到9之间的任何数字。另一种用于指定三位数字中的每个数字允许的数字范围数。在这种情况下,这意味着第一个数字需要为1,第二个数字在0到7之间,最后一个可以为任意数字。第三种选择是针对数字180,它与其他位置的模式不太匹配。
更直接的方法可能是
^(0{0,2}[0-9]|0?[1-9][0-9]|1[0-7][0-9]|180)$
只是针对可能存在的每一个棘手的数字范围进行轮换。
狐的传说
TA贡献1804条经验 获得超3个赞
我的两分钱:
发布此问题答案的任何人都应至少使用以下输入来测试其正则表达式:
应该匹配:0、00、000、5、05、005、95、095、180
不应该匹配:0000、0095、181、190
我认为约翰尼斯·罗素(JohannesRössel)所写的东西与您将获得的一样好:
^(0?[0-9]{1,2}|1[0-7][0-9]|180)$
- 3 回答
- 0 关注
- 835 浏览
添加回答
举报
0/150
提交
取消