я хочу как «/» и «/ дома» путь, прямой пользователю же странице («/ дома»).
Как я могу написать это с regex in экспресс-маршрутизация. Я пробовал это:
router.route('/|/home')
но доза не работает.«ИЛИ» оператор в регулярном выражении, в экспресс-маршрутизации
1
A
ответ
1
Вы можете использовать
router.route(/^\/(home)?$/)
регулярное выражение матча:
^
- начало строки\/
- косая(home)?
- необязательный последовательность буквенных символовhome
$
- конец строки.
В принципе, это то же самое, как /^(\/|\/home)$/
с 2 альтернативами, \/
и \/home
, что оба привязанных в начале и в конце строки, только опциональной группы (т.е. (home)?
) является гораздо более оптимальным способом, чтобы соответствовать эти две альтернативы.
Обратите внимание на то, что здесь не может быть использована группа, не связанная с захватом (и даже предпочтительнее), но она менее читаема: /^\/(?:home)?$/
.
Попробуйте 'router.route (/^\/(home)? $ /)' –
sr. оно работает. Тпх – somename