我需要创建一个RegEx来验证输入到文本框的字符串是否正好是2位数,并且在01-25或99范围内。
我是创建自己的RegEx的新手,并想出了:
[01-25,99]{2}
这将验证该数字是否为2位数,但它会在指定范围之外找到许多匹配项。
答案 0 :(得分:3)
字符类可以包含字符范围,而不是值范围。
尝试这种替换:
0[1-9]|1\d|2[0-5]|99
如果您想限制整个输入,请填写^
和$
:
^0[1-9]|1\d|2[0-5]|99$
答案 1 :(得分:2)
这应该有效:
# ^(?:0[1-9]|1\d|2[0-5]|99)$
^
(?:
0 [1-9]
| 1 \d
| 2 [0-5]
| 99
)
$
答案 2 :(得分:1)
也许像哑巴一样愚蠢(0 [1-9] | 1 [0-9] | 2 [0-5] | 99)
答案 3 :(得分:1)
正则表达式的工作方式是单个数字,而不是像你想象的那样。这意味着您的模式:
[01-25,99]
实际上会匹配任何有0,1-2,5,逗号或9(说它两次没有区别)的东西,并且放置`{2}意味着你匹配任何连续包含这两个字符串的字符串。
因为我在输入时已经回答了这个问题,所以请查看发布的图案sln是否应该有效。
答案 4 :(得分:0)
也喜欢这个 [0] [1-9] | [1] [0-9] | [2] [0-5] | [99]