Программирование > Регулярные выражения

Соответствие до первого закрывающего тэга

(1/1)

dub:
Поиск открывающего тэга, соответствующего шаблону до _первого_ соответствующего закрывающего тэга.

--- Код: ---
# Строка
$content = \'BLA-BLA XYZ BLA-BLA \';

--- Конец кода ---

В этой строке нужно найти соответствие участку от первого символа открывающего тэга до последнего символа _первого_ следующего закрывающего тэга . То есть результат должен быть следующим:
XYZ

Использование регулярного выражения

--- Код: ---$re = \'/]*>.*/i\';
--- Конец кода ---

дает результат
 XYZ BLA-BLA

То есть проблема заключается в том, как сформулировать на РВ фразу "что угодно, _кроме_ закрывающего тэга ".

Где-то так. Заренее спасибо.

[OFF]Сделать нужно на PHP, отсюда пхпшное задание переменных.[/OFF]

гоша:
(.*?)

dub:
гоша
Спасибо.

Может, не совсем в тему. Можно ли вообще как-то с помощью РВ решать проблему вложенности? То есть чтобы из

--- Код: ---BLA-BLA XYZ BLA-BLA
--- Конец кода ---

получать

--- Код: ---XYZ
--- Конец кода ---

, а из

--- Код: ---BLA-BLA XYZ BLA-BLA
--- Конец кода ---

получать полностью

--- Код: ---BLA-BLA XYZ BLA-BLA
--- Конец кода ---


Не совсем понимаю, как подойти к этому вопросу и можно ли вообще это сделать с помощью РВ или нужно использовать программный парсинг с подсчетом открывающих/закрывающих тэгов. Поэтому формулировка, уж не обессудьте, кривоватая.

Макс:

--- Цитировать ---dub:
Можно ли вообще как-то с помощью РВ решать проблему вложенности?
--- Конец цитаты ---

зависит от диалекта.
Например в перле есть возможности для работы с вложеными констркциями.
Читай "Регулярные выражения" Фридл, стр. 355 - "Применение динамических рег. выр-ний для поиска вложенных конструкций"

Yukko:
Будет полезно почитать это:
http://phpclub.ru/talk/search.php?s=&action=showresults&searchid=242610&sortby=after&sortorder=descending

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии