Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: Perl Regex Repeating Patterns

by Anonymous Monk
on Jan 17, 2012 at 21:43 UTC ( [id://948423]=note: print w/replies, xml ) Need Help??


in reply to Re: Perl Regex Repeating Patterns
in thread Perl Regex Repeating Patterns

Thanks for the response. The following regex worked properly. I realize that using a quantifier after a capture group is bad programming practice, but I do not know how else to do what I want

my $string="AAABBBCCCCDDDEEEFFFGGGHHHIII"; my @patterns=('BBB','DDD'); my @index; foreach(@patterns){ while($string=~m/\G([A-Z]{3})+?$_/g){ push(@index,$-[2]); pos($string)=$-[2]; }
If there is a better way to do this, please let me know. Thanks.

Replies are listed 'Best First'.
Re^3: Perl Regex Repeating Patterns
by AnomalousMonk (Archbishop) on Jan 18, 2012 at 00:07 UTC
    The following regex worked properly. ... If there is a better way to do this ...

    Even after adding (just for the heck of it) a closing  } brace, all I get is an infinite loop. What code are you running?

    >perl -wMstrict -le "my $string=\"AAABBBCCCCDDDEEEFFFGGGHHHIII\"; my @patterns=('BBB','DDD'); my @index; foreach(@patterns){ while($string=~m/\G([A-Z]{3})+?$_/g){ push(@index,$-[2]); pos($string)=$-[2]; print 0+@index; <STDIN>; } } " 1 2 3 4 5 ... Terminating on signal SIGINT(2)
Re^3: Perl Regex Repeating Patterns
by Corion (Patriarch) on Jan 18, 2012 at 08:01 UTC

    Putting a repeating quantifier after a capture simply does not do what you intend it to do, unless you only want to capture the last matched item in the repetition. And even then, it would be clearer in my opinion to explicitly state your assumption, by explicitly discarding the first repetitions:

    /(?:[A-Z]{3})*([A-Z]{3})$/

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-04-23 18:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found