@travelator

Как в notepad++ удалить тег регуляркой, соответствующий условию?

Суть такова:
- Есть тег ; Между тегами может быть любой набор символов; У тега может быть любой атрибут
Задача:
- нужно удалить все теги < div...>...< /div > между которыми присутствует слово cat.
Уважаемые, как это можно реализовать?
Я пробовал такие варианты, но это не то. Выхватывает какие-то рандомные части текста
< div.*? >[cat]*.< /div >
< div.*? >*?[cat]*?< /div >
  • Вопрос задан
  • 2284 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
В общем случае никак нельзя, потому что HTML это контекстно-свободная грамматика а нифига не регулярная грамматика, а регулярные выражения работают именно с регулярными, кто-бы мог подумать.

То есть, вы, конечно, можете применять регулярные выражения для произвольных строк, но у вас не получится обойтись одними только регулярными выражениями.

Можете попробовать так <.*?> и удалить все, что между треугольными скобочками.
Но рискуете при этом испортить текст.

И я уж молчу о тех случаях, когда HTML код "битый".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы