>perl -wMstrict -le "my $s = 'KE a KE bb ccc KE ddd PA ee KE fff xx PA gg KEPA h'; my $start = qr{ KE }xms; my $not_start = qr{ (?! $start) . }xms; my $stop = qr{ PA }xms; my $chunk = qr{ $start $not_start* $stop }xms; print qq{'$s'}; print map qq{'$_' }, $s =~ m{ $chunk }xmsg; " 'KE a KE bb ccc KE ddd PA ee KE fff xx PA gg KEPA h' 'KE ddd PA' 'KE fff xx PA' 'KEPA'