是否有一个简单的正则表达式来将数字与 x 进行比较?

Cor*_*all 3 regex

我想要一个正则表达式,如果一个数字大于或等于一个任意数字,它就会匹配。对于这样一个简单的任务来说,这似乎非常复杂……似乎您需要在为 x 手工制作的显式正则表达式中重新发明“计数”。

例如,直观地对大于 25 的数字执行此操作,我得到

(\d{3,}|[3-9]\d|2[6-9]\d)
Run Code Online (Sandbox Code Playgroud)

如果号码是 512345 呢?有没有更简单的方法?

Ria*_*iaD 5

看来没有更简单的办法了。正则表达式不是数字的东西。
你可以试试这个:

\[1-9]d{6,}|
[6-9]\d{5}|
5[2-9]\d{4}|
51[3-9]\d{3}|
512[4-9]\d{2}|
5123[5-9]\d|
51234[6-9]
Run Code Online (Sandbox Code Playgroud)

(为了清晰起见换行)


Bar*_*ers 5

如果号码是 512345 呢?有没有更简单的方法?

不,匹配某个范围内的数字的正则表达式看起来很可怕(尤其是大数字范围)。

正则表达式根本不适合此类任务。更好的解决方案是“自由地”匹配数字,例如\d+,然后将它们与语言的关系运算符(<, >, ...)进行比较。