ミス。^-?[0-9]+?(\.[0-9]+|[0-9]*)$

しかし汚ねーなあ。たぶんググればまともなの出てくるよ。