如何修改正则表达式,使其与某些数字匹配?

时间:2012-02-11 01:16:27

标签: ruby regex

如何修改此正则表达式以使0不匹配,但是15.0之类的数字是?见:http://rubular.com/r/8OMVYh0SBw。我无法弄明白。正则表达式是我的阿喀琉斯之踵。

^[+-]?(?:(?!0)\d{1,2}|0)(?:\.5)?$

仅供参考 - 虚线上方的所有内容都应匹配,以下任何内容都不应匹配。

2 个答案:

答案 0 :(得分:4)

这对我来说很有效。

rubular

^[+-]?(?:[1-9]\d?)(?:\.\d)?$

对于未来,以下两个是等效的,但后者更有效。

(?!0)\d{1,2}    
[1-9]\d?

答案 1 :(得分:0)

也许你想要这样的东西:

^[+-]?(?!0+(?:\.0)?$|0)\d{1,2}(?:\.\d)?$