regex - Perl regular expression for matching a numeric literal -
i'm looking regular expression in perl match following:
12345 12345.67 .23e-10 # small number 3.14_15_92 # important number 4_294_967_296 # underscore legibility 0xff # hex 0xdead_beef # more hex 0377 # octal (only numbers, begins 0) 0b011011 # binary my current regex ([\d\.a-z_a-z-]*), match stuff...
update
i have regular expression each one, want mix them in one.
(\d*)
(\d*(?:(?=\d*)\.\d*))
(\d*(?:(?=\d*)\.\d*)(?:e?(?=[-|\d]*)-?\d*))
(\d*\.?(?:\d{0,3}_?)*)
(0x([a-za-z]*_?)*)
((?:\d*[a-za-z]*)*)
take @ regexp::common , regexp::common::number. have solutions of those.
use regexp::common qw /number/; while (<>) { /^$re{num}{int}$/ , print "integer\n"; /^$re{num}{real}$/ , print "real\n"; /^$re{num}{real}{-base => 16}$/ , print "hexadecimal real\n"; }
Comments
Post a Comment