За последние 24 часа нас посетили 15188 программистов и 1672 робота. Сейчас ищут 906 программистов ...

Найти фрагмент в котором не повторяется определенное слово.

Тема в разделе "Регулярные выражения", создана пользователем Casufi, 17 сен 2009.

  1. Casufi

    Casufi Активный пользователь

    С нами с:
    17 сен 2009
    Сообщения:
    2
    Симпатии:
    0
    Есть кусок текста.

    Код (Text):
    1.   //Some text
    2.   WindowBegin("MyWindow",WindowClass,WType,);
    3.   ...
    4.   ...
    5.   ...
    6.   some text
    7.   ...
    8.   EndWindow;
    9.  
    10.   WindowBegin("MyWindow2",WindowClass,WType,);
    11.   ...
    12.   Flip(1)
    13.   some text
    14.   Flip(2)
    15.   ...
    16.   EndWindow;
    Мне регулярным выражением нужно выбрать класс и тип окна в котором встречается Flip
    Делаю я это таким регулярным выражением
    Код (Text):
    1.  '(?s)WindowBegin.*?,(.*?),(.*?),.*?Flip.*?EndWindow'
    Есть одна проблема. Такое выражение выберет весь кусок текста между первым WindowBegin и Flip во втором окне.
    Подскажите как написать так, чтобы между WindowBegin и Flip не могло стоять второе WindowBegin ?
     
  2. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Кванитификатор жадности, кажется U
     
  3. Casufi

    Casufi Активный пользователь

    С нами с:
    17 сен 2009
    Сообщения:
    2
    Симпатии:
    0
    не совсем понял в каком месте его нужно использовать , у меня и так все выражения .* - нежадные, потому как после них стоит знак вопроса.