我有两种组合:


用于检查^[1-9]+[0-9]*000$的1000的倍数。
用于检查大于25000的值,即^\\d{6,}$|^[3-9]\\d{4}$|^2[5-9]\\d{3}$


当我尝试将以下两个正则表达式与正向超前运算符结合使用时,

^(?=[1-9]+[0-9]*000)(?=\\d{6,}$|^[3-9]\\d{4}$|^2[5-9]\\d{3})*$

它采用25000100、35000100之类的值,而不是1000的倍数。

是否可以通过一个正则表达式同时实现这两种方案?

最佳答案

这应该工作

^([1-9]\d{2,}|[3-9]\d|2[5-9])000$


https://regex101.com/r/vJ8xU6/3

07-26 02:05