Задать вопрос
@travelator

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

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

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

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

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

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

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
Wanted. Санкт-Петербург
До 100 000 ₽
09 янв. 2025, в 21:26
30000 руб./за проект
09 янв. 2025, в 20:23
1000 руб./за проект