Как изменить данное выражение?
^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()@:%_+.~#?&\/=]*)$