За последние 24 часа нас посетили 21332 программиста и 1696 роботов. Сейчас ищут 1817 программистов ...

Помогите с регуляркой

Тема в разделе "Регулярные выражения", создана пользователем imissyouso, 19 дек 2013.

  1. imissyouso

    imissyouso Новичок

    С нами с:
    19 дек 2013
    Сообщения:
    1
    Симпатии:
    0
    Всем привет!
    Есть следующая строка "лол,фигня,ещще,фигня{привет,медвед,я,пхп,прогер,в,рот,мне,ноги}печенье,лом123"
    Мне нужно из неё достать все слова которые разделены запятыми внутри ФИГУРНЫХ скобок, как это правильно сделать?
    Пишу вот такое выражение "{([а-я]+,?)+}" - не работает! В preg_match'e запоминает только последнее слово в скобках, в этом примере это "ноги", то есть они все, как я понял, находятся, и перезаписываются во внутреннюю переменную 1, а как сделатьчтобы они все сохранялись каждая в свою переменную? 1,2,3,4,5,6,7,8,9 ???
    Спасибо!
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $matches=array();
    2. $str='лол,фигня,ещще,фигня{привет,медвед,я,пхп,прогер,в,рот,мне,ноги}печенье,лом123';
    3. preg_match('/[^{]+(?=})/',$str,$matches);
    4. $matches=explode(',',$matches[0]);
    5. echo'<pre>';
    6.     print_r($matches);
    7. echo'</pre>';