C # Regex необязательный параметр URL - PullRequest
0 голосов
/ 25 января 2019

Мне нужно создать REGEX, с помощью которого будет проверяться необязательный параметр URL-адрес только для чисел

Совпадения: /user/123 /user/ /user

Нет совпадений: /user/test /user/123.3

Best I

^\user\b(\/)?(0|[1-9]\d*)?$

, но сначала не проходит тест на совпадение.

1 Ответ

0 голосов
/ 25 января 2019

В вашем регулярном выражении обратная косая черта должна стать прямой косой чертой. Вы можете опустить границу слова \b, если вы используете 1 необязательную группу, которая соответствует либо /, за которым следуют 1+ цифр, либо одна /.

(?:0|[1-9]\d* будет соответствовать либо одному нулю, либо цифре от 1. Если вы хотите соответствовать 1+ цифрам, вы можете использовать \d+

Например, используя чередование:

^/user(?:/\d+|/)?$

Regex demo

Объяснение

  • ^ Начало строки
  • /user
  • (?:/\d+|/)? Необязательная группа без захвата для совпадения цифр / и 1+ или /
  • $ Конец строки

Или регулярное выражение , включая шаблон для цифр:

^/user(?:/(?:0|[1-9]\d*)|/)?$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...