Как избежать повторения в RegEx?

Deserved

Новичок
Как избежать повторения в RegEx?

PHP:
$xml = '<lunch>salat</lunch>
            This is how to cook <kapusta>: 
                     <using att="perec" />
                     <using att="ogurec" />
                     <using att="kartoshka" />';

preg_match_all('/<lunch>[\w]+<\/lunch>([\s\w\<\>\"\=\/\:]+)<using\satt=\"[\w]+\" \/>/',$xml,$match);

print_r($match);
Результат:

PHP:
Array
(
    [0] => Array
        (
            [0] => <lunch>salat</lunch>
            This is how to cook <kapusta>: 
                     <using att="perec" />
                     <using att="ogurec" />
                     <using att="kartoshka" />
        )

    [1] => Array
        (
            [0] => 
            This is how to cook <kapusta>: 
                     <using att="perec" />
                     <using att="ogurec" />
                     
        )

)
Ребята пожалуйста как сделать та чтобы в match[1][0] Было только "This is how to cook <kapusta>:" я уже что тольк не испробовал :(
 

Major

Новичок
В нулевом индексе всегда кладется полное найденное вхождение под шаблон.
Ну ты почитай про регулярки. Ты почти ц цели.
 

Deserved

Новичок
Единственное решение на данный момент вижу эта найти первое вхождения тэга <using> и вырезать всё начиная с этой строчки, но как то хочется всё при помощи одного выражения.
 

AmdY

Пью пиво
Команда форума
Deserved
ты это xml парсишь, а может тебе вовсе не нужны регулярки?
 

Deserved

Новичок
Спасибо всем за ответы и спасибо за "жадность" решение:
PHP:
preg_match_all('/<lunch>[\w]+<\/lunch>([\s\w\<\>\"\=\/\:]+?)<using\satt=\"[\w]+\" \/>/',$xml,$match);
 
Сверху