1.0 -1.0 .9 9. -.9 -.4e08 +4.E-08 +.2e+219 2.00001e+9 #### our $numregex = qr/^ # may have leading plus or minus [-+]? # one of these formats must exist (?: # maybe one or more digits, then decimal, and maybe more digits \d+\.?\d* # or decimal followed by one or more digits |\.\d+ ) # optional sci notation (?: # "e" or "E" and plus or minus, and one, two, or three digits [eE][-+]\d{1,3} )? $/x;