--- reg +++ reg @@ -76,12 +76,21 @@ (?: (?: | )? (?: <[DIGIT]> )+ ) + (?{ + $MATCH = join '', grep defined, $MATCH{e}, $MATCH{minus}, $MATCH{plus}, @{$MATCH{DIGIT}}; + }) (?: (?: <[DIGIT]> )+ ) + (?{ + $MATCH = join '', grep defined, $MATCH{decimal_point}, @{$MATCH{DIGIT}}; + }) - | (?: (?: <[DIGIT]> )* ) + | (?: (?: <[DIGIT]> )* ) + (?{ + $MATCH = join '', grep defined, $MATCH{digit1_9}, @{$MATCH{DIGIT}}; + }) \x2D @@ -114,7 +123,7 @@ [\x{30}-\x{39}] }ixs}; -for my $str( q/[ -2.0, 4.333e333, 600 ]/ , ){ +for my $str( q/[ -2.0, 4.333e333, 600, 0, 9 ]/ , ){ print "#<<@{[time-$^T]}# $str \n"; if( $str =~ $jp ){ dd(\%/) ; #/