in reply to Re: Understanding Regex
in thread Understanding Regex

It looks like you missed the caret, '^', inside the character group when you ran the explain function the first time. It should be any character except: whitespace...

Replies are listed 'Best First'.
Re^3: Understanding Regex
by Discipulus (Canon) on Nov 19, 2015 at 07:54 UTC
    good spotted an thanks Lotus1
    was just partially my fault: the code was correct but, as i work on an unfriendly OS, i need to put double quotes around the argument.
    So the actual command line became:
    perl -MYAPE::Regex::Explain -e " print YAPE::Regex::Explain->new(qr/$A +RGV[0]/)->explain();" "^\s*[^\s\*=]+\s*="
    with the right output: and the second one perl -MYAPE::Regex::Explain -e " print YAPE::Regex::Explain->new(qr/$ARGV[0]/)->explain();" "^\s*\w+\s*=" with his right output: For the OP the best was probably to highlight only the different part:
    perl -MYAPE::Regex::Explain -e " print YAPE::Regex::Explain->new(qr/$A +RGV[0]/)->explain();" "[^\s\*=]" .. ---------------------------------------------------------------------- [^\s\*=] any character except: whitespace (\n, \r, \t, \f, and " "), '\*', '=' ---------------------------------------------------------------------- perl -MYAPE::Regex::Explain -e " print YAPE::Regex::Explain->new(qr/$A +RGV[0]/)->explain();" "\w" .. ---------------------------------------------------------------------- \w word characters (a-z, A-Z, 0-9, _) ----------------------------------------------------------------------


    L*

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.