Вы регулярное выражение (?=ds:\w+).*\r?\n?
не соответствует, потому что в контенте есть ds://
, а \w
не соответствует прямой косой черты. Чтобы заставить ваше регулярное выражение работать, вы можете изменить его на:
(?=ds://\w+).*\r?\n?
демо , которое можно сократить до ds://.*\R?
демо
Обратите внимание, что вам не нужно избегать косой черты.
Если вы хотите найти и заменить, чтобы сохранить строки, содержащие ds://
, вы можете использовать отрицательный прогноз:
Найти что
^(?!.*ds://).*\R?
Заменить на
оставить пустым
Объяснение
^
Начало строки
(?!.*ds://
) Отрицательный взгляд на утверждение строки не содержит ds://
.*
Совпадение с любым персонажем 0+ раз
\R?
Необязательная последовательность символов новой строки в юникоде, которая также соответствует последней строке, если за ней не следует новая строка
См. Демоверсию Regex