Я пытаюсь создать цикл while, который найдет все возможные подстроки в строке. Но пока все, что я могу найти, это самый большой экземпляр или самый короткий. Так, например, у меня есть строка
РЕДАКТИРОВАТЬ СТРОКУ ИЗМЕНЕНИЯ ДЛЯ ДЕМО-ЦЕЛЕЙ
"A.....B.....B......B......B......B"
И я хочу найти все возможные последовательности "A ....... B"
Этот код даст мне максимально короткий возврат и выход из цикла while
while($string =~ m/(A(.*?)B)/gi) {
print "found\n";
my $substr = $1;
print $substr."\n";
}
И это даст мне самое длинное и выйдет из цикла while.
$string =~ m/(A(.*)B)/gi
Но я хочу, чтобы он перебрал строку, возвращающую каждое возможное совпадение. Кто-нибудь знает, допускает ли это Perl?
РЕДАКТИРОВАТЬ ДОБАВЛЕНО НУЖНЫМ ВЫХОДОМ НИЖЕ
found
A.....B
found
A.....B.....B
found
A.....B.....B......B
found
A.....B.....B......B......B
found
A.....B.....B......B......B......B