Программирование > Регулярные выражения
Соответствие до первого закрывающего тэга
(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
Навигация
Перейти к полной версии