RegEx Expression / w限制长度和字符

时间:2016-10-27 14:12:38

标签: regex

我的问题与Regular expression to match numbers between 1-5000不相似,因为我还有其他要检查的东西(没有范围,领先,没有前导零等)。

我在输入检查中有以下RegEx:

^[0-9]{1,4}$

这适用于长度为1-4的数字。

不幸的是我必须只允许这些组合:

  • 一位数字1-9(无前导零)
  • 或两位数字10-30(无前导零)
  • 或四位数字0001-9999(带前导零)。

我需要什么RegEx?

1 个答案:

答案 0 :(得分:1)

让我们为您的条件定义子模式:

  

一位数字1-9(无前导零) - 使用[1-9]
  或两位数字10-30(无前导零) - 使用[12][0-9]|30
  或四位数字0001-9999(带前导零) - 使用[0-9]{4}

因此,整个模式应该根据应该锚定和分组的替代方案构建(以便将锚点应用于组)

^([1-9]|[12][0-9]|30|[0-9]{4})$

请参阅regex demo