如何使用正则表达式匹配大于2048的数字

时间:2019-06-26 10:42:28

标签: regex

我需要匹配的数字大于: 1. 2048 2. 32768

我当前的2048正则表达式为:

([2-9][0-9][4-9][8-9]|[1-9]\d{4,}|[3-9]\d{3,})

但是它不匹配2077。在这里帮助我。另外,我无法为大于32768的数字编写正则表达式。

1 个答案:

答案 0 :(得分:2)

以下是系统地构建2048的正则表达式的方法(我认为您的意思是更大或更等于,而不仅仅是更大):

  • 所有5位以上的数字:
    [1-9]\d{4}
  • 所有4位数字,首位至少为3:
    [3-9]\d{3}
  • a 2后跟一个大于或等于048的3位数字(使用相同方法构建3位数字正则表达式):
    2([1-9]\d{2}|0([5-9]\d|4[89]))

因此> = 2048的完整正则表达式为 [1-9]\d{4}|[3-9]\d{3}|2([1-9]\d{2}|0([5-9]\d|4[89]))

可以类似地构建32768的正则表达式。