@Vlad_isLove

Нужно написать регулярное выражение, которое будет пропускать url определенного вида?

Нужно написать регулярное выражение, которое будет пропускать ссылки только определенного формата. Это должны быть ссылки на профиль в Steam. Дело в том, что пользователь сам вписывает ссылку в поле ввода и может написать немного разные ссылки на один и тот же профиль в Steam, например, написать в начале протокол https или http или вообще без него. Пользователи имеют возможность делать индивидуальные ссылки на свой профиль. Поэтому ссылки на профиль могут быть 2-х видов: 1- стандартная, когда в адресе /profiles/ а дальше 17 цифр, 2 - индивидуальная, когда в адресе /id/а дальше может быть от 3 до 32 цифр, символов в обоих регистрах и знаки '-', '_', но не может быть 17 цифр.

Пример ссылки №1 - https://steamcommunity.com/profiles/XXXXXXXXXXXXXXXXX/
Пример ссылки №2 - https://steamcommunity.com/id/YYY/

Где XXXXXXXXXXXXXXXXX - 17 цифр. Где YYY - Может быть от 3 до 32 цифр, латинских букв в любом регистре, знаки -,_.

Исходя из всего этого нужна регулярка следующего формата:
В начале https:// или http:// или ничего, далее steamcommunity.com / на этом месте profiles или id / тут, если до этого была profiles, то 17 цифр или если была id, то от 3 до 32 символов /? в конце может быть или не быть закрывающего /.
Визуальная схема для наглядности:
spoiler
5b113c3ddecd5851626153.png


Я не умею писать регулярные выражения, а эта регулярка нужна уже сейчас. Помогите пожалуйста.
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
vmm86
@vmm86
Software Developer
Навскидку как-то так:
(http[s]?:\/\/)?steamcommunity\.com\/(profiles\/[0-9]{17}[\/]?|id\/[A-z0-9-_]{3,32}[\/]?)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы