Gimir
@Gimir
JavaScript dev

Как написать regex для поискового запроса?

Поисковой запрос должен быть таким: owner/repository
требования для owner:
- максимальная длина 39
- может содержать цифры от 0 до 9, все латинские буквы и дефис "-"
-не должен начинаться и заканчиваться на дефис
-не должно быть сразу двух дефисов вместе, типа "--"

После owner обязательно должен стоять "/"

Требования для repository:
- максимальная длина 39
- может содержать цифры, лат. буквы и дефис ( в отличии от owner, дефис может повторяться и стоять как в начале так и в конце).

Битый час бился над этой проблемой, никак не получается, кто может помочь?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
/^([a-z0-9]|[a-z0-9](-(?!-)|[a-z0-9]){0,37}[a-z0-9])\/[a-z0-9-]{1,39}$/i

https://regex101.com/r/8bFxRH/2
Ответ написан
Комментировать
@Karpion
Мне кажется, сделать требования к owner одним регексом - малореально. Можно ли при поиске накладывать несколько регексов, требуя, чтобы строка удовлетворяла им всем?

Для repository примерно так (считая, что минимальная_длина = 1):
^[a-z0-9-]{1,39}$

Если бы owner был таким же - то общий регекс примерно такой:
^[a-z0-9-]{1,39}/[a-z0-9-]{1,39}$
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IgorPI
@IgorPI
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект