正则表达式所有偶数,最高数字12

时间:2016-11-07 14:40:13

标签: regex

我正在尝试使用正则表达式来获取偶数,并且可输入的最大数字应为12。

我让这个只用于偶数:

^(\d*[02468])$

现在我需要帮助才能获得可输入的最高数字是12.我试过了:

^(\d*[02468]|[0-1][0-2])$ 

但这不起作用。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您的^(\d*[02468]|[0-1][0-2])$正则表达式匹配(\d*[02468])0位或更多位数后跟0246(所以,它可以匹配32)或(与[0-1][0-2]800010210,{ {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)$。它不是最短的解决方案,但最容易阅读和理解。