我有以下正则表达式^(([0-9]{1,2})|100|888|777|999)$
这允许某人输入数字:0-99,100,888,777,999
我现在必须改变表达式以允许:1-99,100,888,777,999(现在基本上不允许ZERO)
我想过做^(!0|([0-9]{1,2})|100|888|777|999)$
......但这当然行不通,因为那就像说“如果不是零,我们就没事了”
有什么建议吗?
答案 0 :(得分:5)
尝试将一个数字与两个数字的数字分开:
^([0-9]|([1-9][0-9])|100|888|777|999)$
然后删除0:
^([1-9]|([1-9][0-9])|100|888|777|999)$
现在你已经拥有了,有一种明显的方法来简化它:
^(([1-9][0-9]?)|100|888|777|999)$
所以,twain249,如果你想读取前面有过多零的数字,但你不希望匹配包含它们:
^0*(([1-9][0-9]?)|100|888|777|999)$
答案 1 :(得分:1)
这应该达到你想要的效果:
^(([1-9][0-9]?)|100|888|777|999)$
答案 2 :(得分:1)
^([1-9] [0-9])| 100 | 888 | 777 | 999 $