Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Perl Pattern Matching & RegEx's

by Dallaylaen (Scribe)
on Mar 07, 2013 at 14:16 UTC ( #1022237=note: print w/ replies, xml ) Need Help??


in reply to Perl Pattern Matching & RegEx's

Why not split the string into chunks delimited by AAA, and then combine the chunks as you want and join them back?As in:

#!/usr/bin/perl -w use strict; my $string = shift || 'AAABCDAAADCBAAABBDAAA'; my @between = split /AAA/, $string, -1; pop @between; shift @between; for (my $i = 0; $i<@between; $i++) { for (my $j = $i; $j<@between; $j++) { print join "AAA", "", @between[ $i .. $j ], "\n" }; };

This won't solve the problem if your string contains AAAA, though.

UPDATE: This substr-based solution is much better, it doesn't suffer from AAAA problem and probably uses less memory, too.


Comment on Re: Perl Pattern Matching & RegEx's
Download Code
Re^2: Perl Pattern Matching & RegEx's
by jaiieq (Novice) on Mar 07, 2013 at 14:23 UTC
    This looks to be exactly what I was looking for. I am going to try it on a few other test cases and see how it works. Thank you!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (9)
As of 2014-07-28 12:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (196 votes), past polls