Нужна помощь с регулярками, а то не фурычит опять банальная вещь..
$str = \'sok 1 sok 2 sok 3 konec\';
preg_match_all(\'/sok(.*?)konec/i\',$str,$out);
print_r($out);
В выходящем массиве $out я хочу получить числов 3 из строки (пускай и с пробелами, их потом от-trim-ить легко). Однако получаю 1 sok 2 sok 3, как указать чтобы бралось максимальное удаленное от начала строки совпадение ? А то моя регулярка работала бы хорошо если бы исходная строка была : sok 3 konec 2 konec 1konec ибо жадность квантификатора убираю для последующих символов, а не для начальных . Что делать ?
PS. А то самое дурное пока пришло в голову, типа /([\\ 0-9]{0,3}sok){3}(.*?)konec/i
Однако это больше для частного случае подходит, нежели в целом...
Еще как варинат тут : /([0-9])+\\skonec/ , но это то же не выход. Тут(в этом топике) я представлял пример строки $str , на самом деле вместо искомой тройки там строка из цифр, букв и спецсимволов... длина строки от 8-20 символов в среднем... нужно нечто более универсальное