in reply to Re^2: Die vs. Exit
in thread Die vs. Exit

I'm having trouble figuring out the regular expression for integers, positive or negative?

/^-?\d+$/

Can someone please explain what the characters mean? I may have better luck figuring it out with a good explanation? Thanks!

Replies are listed 'Best First'.
Re^4: Die vs. Exit
by kcott (Archbishop) on Jul 21, 2012 at 01:02 UTC

    YAPE::Regex::Explain provides a good explanation:

    $ perl -E ' use YAPE::Regex::Explain; my $e = YAPE::Regex::Explain->new(q{^-?\d+$})->explain; say $e; ' The regular expression: (?-imsx:^-?\d+$) matches as follows: NODE EXPLANATION ---------------------------------------------------------------------- (?-imsx: group, but do not capture (case-sensitive) (with ^ and $ matching normally) (with . not matching \n) (matching whitespace and # normally): ---------------------------------------------------------------------- ^ the beginning of the string ---------------------------------------------------------------------- -? '-' (optional (matching the most amount possible)) ---------------------------------------------------------------------- \d+ digits (0-9) (1 or more times (matching the most amount possible)) ---------------------------------------------------------------------- $ before an optional \n, and the end of the string ---------------------------------------------------------------------- ) end of grouping ----------------------------------------------------------------------

    I'd also recommend the following documentation:

    • perlrequick - Perl regular expressions quick start
    • perlretut - Perl regular expressions tutorial
    • perlre - Perl regular expressions

    -- Ken