我需要表达式来检查数字7是否小于30且大于1.这是一个例子。任何人都可以提供表达和解释吗?
答案 0 :(得分:0)
不要使用正则表达式,但如果您愿意,请转到此处:
^(?:[2-9]|[1-2][0-9])$
<强>解释强>
这会锚定到字符串的开头/结尾(因此我们不会在数字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])$
上面的表达式将匹配,如果: