@lexstile

Как с помощью регулярного выражения выбрать все числа в роуте, кроме тех, которые начинаются с нуля?

Использую библиотеку: react router dom (v5).
Прокидываю: path = '/menu/:id((?!0)[0-9]+)' (\d+ тоже пробовал)
Выводит ошибку:
Uncaught SyntaxError: Invalid regular expression: /^\/menu\/((?:[^\/]+?))\(((?:?\!0))\[0-9\]\+\)(?:\/(?=$))?$/

62b42528bbcac259195209.png

Как можно корректно исключить нули в начале? (Вариант [1-9][0-9] сработал, но он не особо красивый)
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
/menu/:id([1-9][0-9]*)

Регулярные выражения должны быть простыми и понятными, а не красивыми. Конструкцию (?!0) вам и вашим коллегам при следующей встрече с этим кодом, наверняка, придётся заново гуглить, а обычные группы понятны сразу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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