使用正则表达式匹配小数范围

时间:2016-09-27 23:28:13

标签: regex

如何将其表述为正则表达式

if (a > 0 and a < 50)
  Match
else
  NoMatch

其中a是十进制值,.为小数点分隔符。

我知道使用上面的代码会更容易,但遗憾的是我必须将其作为正则表达式。

2 个答案:

答案 0 :(得分:1)

并非我支持使用正则表达式,但你可以这样做:

^(?=[0.]*[1-9])((?:0|1|2|3|4)[0-9]?\.(?:\d*))$

Demo and Explanation

答案 1 :(得分:1)

我的看法:

^(0+((\.)0*[1-9]\d*))|(0*(([1-4]\d)|[1-9])((\.)\d+)?)$