我尝试使用以下正则表达式匹配大于15的任何数字:
0*[1-9][6-9][0-9]*
但是我只能匹配2位数字,例如。我可以成功取消匹配12
或13
(小于15
),而我无法匹配105
,124
等。
任何人都可以帮助我解决该问题。
答案 0 :(得分:4)
任何大于15的数字都是
任何3位或更多位数且可能以0开头的数字
具有2位数字的任何数字,其中字符类[2-9]中的第一位数字
具有2位数字的任何数字,其中字符类[6-9]中第一位为1,第二位为
根据这三个规则,我们可以构建正则表达式,假设我们匹配的内容仅包含数字
/^0*(?:[1-9][0-9]{2,}|[2-9][0-9]|1[6-9])$/
如果您不能使用扩展的正则表达式,则可以使用以下内容
/^0*[1-9][0-9][0-9][0-9]*|0*[2-9][0-9]|0*1[6-9]$/