Как регулярками получить результат до ближайшей указанной подстроки...?

WebPHPDev

Новичок
Как регулярками получить результат до ближайшей указанной подстроки...?

Довольно сумборно попытался изложить смысл вопроса в заголовке. Вот что я имел ввиду. Есть скрипт:
PHP:
$str = 'aaa11111aaa2222aaa3333aaa';
$arr = array();
preg_match_all( '|aaa(.*)aaa|', $str, $arr );
print_r( $arr );
в качестве результата здесь возвращается полная строка "11111aaa2222aaa3333". Что верно конечно. Потому как он выбирал эти подстроки в начале и в конце. А если мне до ближайшей подстроки "ааа" нужно произвести выборку?

Т.е. можно ли сделать так, чтобы в качестве результатов были возвращены по отдельности "11111", "2222" и "3333"?
 

WebPHPDev

Новичок
Андрейка
Спасибо. Помогло.
PHP:
preg_match_all( '|aaa(.*)aaa|U', $str, $arr );
Выдает теперь и 11111 и 3333. А двойки не выдаёт, потому как получается, что убирая составные подстроки:
aaa11111aaa222aaa3333aaa
222 остаются без обрамления подстроками "ааа" - видимо поэтому "222" не включается в результирующую выборку.

А можно ли как-то сделать так, чтобы при данной ситуации включалась и "222"?
 
Сверху