in reply to Regex troubles...
Just for grins, here's another approach, although I would still recommend the two-step approach outlined above:
Note that this runs under 5.8.9.c:\@Work\Perl>perl -wMstrict -le "use Data::Dump qw(pp); ;; print qq{Perl version: $]}; ;; my $ra = qr{ a }xms; my $rb = qr{ b. }xms; my $rc = qr{ c }xms; for my $string (qw(ab1b2b3b4c ab5b6b7c ab8b9c abxc ac b0)) { my @all = $string =~ m{ \G (?: $ra (?= $rb) | $rb (?= $rb | $rc) | $rc (?= \z) ) }xmsg; print qq{'$string' -> }, pp \@all; } " Perl version: 5.008009 'ab1b2b3b4c' -> ["a", "b1", "b2", "b3", "b4", "c"] 'ab5b6b7c' -> ["a", "b5", "b6", "b7", "c"] 'ab8b9c' -> ["a", "b8", "b9", "c"] 'abxc' -> ["a", "bx", "c"] 'ac' -> [] 'b0' -> []
|
|---|