RegEx выборка и замена ссылок из текста без слеша в конце

Есть дамп Базы данных. Нужно заменить все ссылки без слеша в конце на ссылки со слешем в конце. Встречаются ссылки уже со слешем в конце. Сделал такую выборку

(?<=\&quot;)https:\/\/site\.com\/(.*?)(?=(\&quot|\/\&quot))

Выражение выше захватывает нужный шаблон как со слешем так и без слеша, а нужно так, чтобы в шаблон не попадали ссылки имеющие завершающий слеш.

a href=&quot;https://site.com/dir_contact/&quot; target=&quot;_blank&quot;&gt;пункте самовывоза&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;\r\n  &lt;li&gt;\r\n      &lt;a href=&quot;https://site.com/oplata-chastiami&quot;&gt;Оплата частями&lt;/a&gt;

Ответы (2 шт):

Автор решения: Ян Морозов

не легче сделать с помощью if else

if link[-1] == '/':
    return
→ Ссылка
Автор решения: UModeL

Если все ссылки однотипные, т.е. абсолютные (с протоколом и пр.), тогда:

/(http[^&]+[^\/])(?=&)/g

меняем на:

$1/

В Notepad++:

  • Ставим галку на "Регулярные выражения";
  • Убираем флаг g и ставим галку на "Зациклить поиск".

"Найти:"

(http[^&]+[^\/])(?=&)

"Заменить на:"

$1/
→ Ссылка