Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Регулярное выражение


Автор: Predator83 1.3.2013, 19:24
Привет всем!
Помогите пожалуйста опять с регуляркой.
Есть лог файл такого вида:

Код

some strings...
<FX>
another strings...
<FX>
 <TEG1>
  <TEG2>
  </TEG2>
 </TEG1>
</FX>
some strings...
<FX>

<FX>
 <TEG1>
 </TEG1>
</FX>

Необходимо получить:
Код

<FX>
 <TEG1>
  <TEG2>
  </TEG2>
 </TEG1>
</FX>

И
Код

<FX>
 <TEG3>
 </TEG3>
</FX>

Т.е. по сути получаем два xml файла. Пока составил такой вот паттерн 
Код

<FX>([\s\S]+?)</FX>
, но он возвращает
Код

<FX>
another strings...
<FX>
 <TEG1>
  <TEG2>
  </TEG2>
 </TEG1>
</FX>

И

Код

<FX>

<FX>
 <TEG1>
 </TEG1>
</FX>

Получается что надо искать в найденном последний открытый тег <FX>. Можно ли как-то справиться средствами регулярных выражений?
Спасибо за помощь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)