Take a look at Regexp::Common::number. All the above and more.
In reply to Re: Patterns for your numbers by adrianh in thread Patterns for your numbers by bronto