我正在尝试使用正则表达式来获取偶数,并且可输入的最大数字应为12。
我让这个只用于偶数:
^(\d*[02468])$
现在我需要帮助才能获得可输入的最高数字是12.我试过了:
^(\d*[02468]|[0-1][0-2])$
但这不起作用。有什么建议吗?
答案 0 :(得分:2)
您的^(\d*[02468]|[0-1][0-2])$
正则表达式匹配(\d*[02468]
)0位或更多位数后跟0
,2
,4
,6
(所以,它可以匹配32
)或(与[0-1][0-2]
)8
或00
,01
,02
,10
,{ {1}}或11
。如你所见,它们并非都是如此。
您可以使用
12
或使用前导可选^([02468]|1[02])$
:
0
请参阅regex demo
详细:
^(0?[02468]|1[02])$
- 字符串开头^
- 将构造匹配分组
(
- 来自[02468]
0-或|
- 1[02]
或10
12
- 小组结尾)
- 字符串结尾答案 1 :(得分:2)
只需列出所有有效数字:^(0|2|4|6|8|10|12)$
。它不是最短的解决方案,但最容易阅读和理解。