В вашем регулярном выражении обратная косая черта должна стать прямой косой чертой. Вы можете опустить границу слова \b
, если вы используете 1 необязательную группу, которая соответствует либо /
, за которым следуют 1+ цифр, либо одна /
.
(?:0|[1-9]\d*
будет соответствовать либо одному нулю, либо цифре от 1. Если вы хотите соответствовать 1+ цифрам, вы можете использовать \d+
Например, используя чередование:
^/user(?:/\d+|/)?$
Regex demo
Объяснение
^
Начало строки
/user
(?:/\d+|/)?
Необязательная группа без захвата для совпадения цифр / и 1+ или /
$
Конец строки
Или регулярное выражение , включая шаблон для цифр:
^/user(?:/(?:0|[1-9]\d*)|/)?$