my $number = qr{ -? (?: 0 | [1-9] [0-9]* ) (?: \. [0-9]+ )? (?: [eE] [+-]? [0-9] )? }x;