Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Explain a regexp matched group result

by ww (Archbishop)
on Oct 28, 2013 at 19:22 UTC ( [id://1060044]=note: print w/replies, xml ) Need Help??


in reply to Explain a regexp matched group result

Edumacation (I hope, anyway) by example :-)

#!/usr/bin/perl use 5.016; use warnings; # 1060027 my $string = "aacbbbcac"; my $re1 = qr/((a+)?(b+)?(c))*/; my $re2 = qr/(a.*?)(b.+?)(c)(.*)/; # ADDED ON SUSPICION THAT OP'S REG +EX FU # MIGHT BE INCREMENTED BY THIS EXA +MPLE if ($string =~ $re1) { say "Here are the captures: $1, $2, $3)\n"; # ADDED line foreach (0..$#-) { printf "Group %d: <%s>\n", $_, substr($string, $-[$_], $+[$_] - $- +[$_]); } } say "\n"; if ( $string =~ $re2 ) { say "USING \$re2, here are the captures \$1..\$4: $1, $2, $3, $4)\ +n"; foreach (0..$#-) { printf "Group %d: <%s>\n", $_, substr($string, $-[$_], $+[$_] - $- +[$_]); } } =head #ONLY the "ADDED" lines are changed from OP's original Here are the captures: ac, a, bbb) Group 0: <aacbbbcac> Group 1: <ac> Group 2: <a> Group 3: <bbb> Group 4: <c> USING $re2, here are the captures $1..$4: aac, bbb, c, ac) Group 0: <aacbbbcac> Group 1: <aac> Group 2: <bbb> Group 3: <c> Group 4: <ac> =cut

Replies are listed 'Best First'.
Re^2: Explain a regexp matched group result
by jdd (Acolyte) on Oct 28, 2013 at 19:46 UTC
    Thank you very much to you too, now I understand -;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1060044]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2024-04-26 01:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found