Как изменить данное выражение?

Есть регулярное выражение:

^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/\/=]*)$

Как его модифицировать, чтобы не позволять плавающий / в конце, например, для такой логики:

https://regex101.com ПОДХОДИТ
https://regex101.com/test ПОДХОДИТ
https://regex101.com/ НЕ ПОДХОДИТ

Пробовал добавить в конец [^\/]$, но это не помогает почему-то


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

Автор решения: Wiktor Stribiżew

Добавьте негативный блок предварительного просмотра назад (?<!\/) в конце:

^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&\/=]*)$(?<!\/)

Или негативный блок предварительного просмотра вперёд (?!.*\/$) в начале

^(?!.*\/$)https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&\/=]*)$

См. пример работы выражения.

→ Ссылка