Регулярное выражение для удаления строки

Вопросы и ответыРубрика: Вопросы по UPDSРегулярное выражение для удаления строки
vikont asked 1 год ago

Необходимо удалять строки типа 
Подпишитесь на новости «ПолитНавигатор» в Telegram, FacebookОдноклассниках или Вконтакте
Создаю регулярное выражение 
\Подпишитесь[^\.]+\Вконтакте
Проверяю на сайте https://regex101.com все якобы работает
Но в Публикаторе не срабатывает! Предполагаю, что на сайте проверки текст выглядит без ссылок, а на самом деле он со ссылками. Как подправить регулярку?

3 ответ
dssoft answered 1 год ago

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

Подпишитесь.+?Вконтакте[^<]{0,}<\/a>
vikontreplied 1 год ago

Отлично работает! Спасибо!
При всех удалениях есть одно но, остается пустое место, а как его удалять автоматически при удалении регулярками и при вырезании поиском заменой?

dssoftreplied 1 год ago

пустое место имеется ввиду пустой тег? ну тогда внесите в регулярку и сам тег чтобы вырезало с тегом, например если все это добро обернуто в div то как то так:

<div[^>]{0,}>[^<>]{0,}Подпишитесь.+?Вконтакте[^<]{0,}<\/a>.+?</div>

vikont answered 1 год ago

Спасибо! Отлично заработал такой вариант:
[^>]{0,}>[^<>]{0,}Подпишитесь.+?Вконтакте[^<]{0,}<\/a>
Удаляется вся строка и оставшееся после удаления пустое место – пустая строка.
Ваша регулярка
<div[^>]{0,}>[^<>]{0,}Подпишитесь.+?Вконтакте[^<]{0,}<\/a>.+?</div>
Удалила весь контент. Осталась одна главная фотка.

vikont answered 1 год ago

В одном из правил попробовал опять применить регулярку
<div[^>]{0,}>[^<>]{0,}Подпишитесь.+?Вконтакте[^<]{0,}<\/a>.+?</div>
Регулярка вырезает весь контент. Пробовал ставить и в закладке Шаблон и Материалы.
Мой вариант без div
[^>]{0,}>[^<>]{0,}Подпишитесь.+?Вконтакте[^<]{0,}<\/a>
Удаляет только текст строки и стается пустая строка, а надо чтобы удаляла строку полностью.