RegEx用于检查数字是否小于或大于

时间:2014-05-13 17:12:48

标签: regex for-loop

我需要表达式来检查数字7是否小于30且大于1.这是一个例子。任何人都可以提供表达和解释吗?

2 个答案:

答案 0 :(得分:0)

不要使用正则表达式,但如果您愿意,请转到此处:

^(?:[2-9]|[1-2][0-9])$

Regular expression visualization

Debuggex Demo


<强>解释

这会锚定到字符串的开头/结尾(因此我们不会在数字7中匹配175),然后所有逻辑都发生在非捕获组中。匹配数字[2-9 ](大于1) OR 匹配[1-2]后跟任意数字[0-9](范围从10-29)。请注意,我使用[0-9]代替\d,因为它更符合可读性,\d技术上会匹配其他数字字符(阿拉伯语等)。


旁注,如果你想允许前导0(1 < 007 == 7 < 30),你可以在字符串开头后允许0+ 0&#39;

^0*(?:[2-9]|[1-2][0-9])$

答案 1 :(得分:0)

^([2-9]|[1-2][0-9])$

上面的表达式将匹配,如果:

  • 给定字符串长度为一个字符,该字符为2到9之间的数字
  • 给定字符串长度为两个字符,第一个字符为1或2,第二个字符为0到9