I think you're missing a backslash before the dot.  i.e.:

    value !~ /\A0+(\.0+)?\z/