Currently, I have /[-+0-9eE.]+/, viz,
require 'test/unit'
class TestFloatRegExp < Test::Unit::TestCase
def test_finds_em
%w{ 1 -2 3.0 0.4 5.0e+5 -6e+06 .7E+7 }.each do |string|
assert( string.match(/[-+0-9eE.]+/), "no match >>#{string}<<" )
end
end
end
> What RegExp should I be using for floats?
>
> Currently, I have /[-+0-9eE.]+/, viz,
>
> require 'test/unit'
> class TestFloatRegExp < Test::Unit::TestCase
> def test_finds_em
> %w{ 1 -2 3.0 0.4 5.0e+5 -6e+06 .7E+7 }.each do |string|
> assert( string.match(/[-+0-9eE.]+/), "no match >>#{string}<<" )
> end
> end
> end
Have a look at the regexp in
perldoc -q float
-- fxn
PS: Your mail client runs on a Mac, that works there.
/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/
Ouch!
Thanks; I think. :)
Regards,
--
Bil
http://fun3d.larc.nasa.gov
Quick caveat - that's for a c float (as mentioned in that perldoc
snippet). Ruby float (& other numeric) literals allow the underscore
character (with restrictions) as well. So really, it depends on
exactly what you're parsing and why.
-A