2016-11-05 4 views
1

я хочу как «/» и «/ дома» путь, прямой пользователю же странице («/ дома»).
Как я могу написать это с regex in экспресс-маршрутизация. Я пробовал это:
router.route('/|/home')
но доза не работает.«ИЛИ» оператор в регулярном выражении, в экспресс-маршрутизации

+1

Попробуйте 'router.route (/^\/(home)? $ /)' –

+0

sr. оно работает. Тпх – somename

ответ

1

Вы можете использовать

router.route(/^\/(home)?$/) 

регулярное выражение матча:

  • ^ - начало строки
  • \/ - косая
  • (home)? - необязательный последовательность буквенных символов home
  • $ - конец строки.

В принципе, это то же самое, как /^(\/|\/home)$/ с 2 альтернативами, \/ и \/home, что оба привязанных в начале и в конце строки, только опциональной группы (т.е. (home)?) является гораздо более оптимальным способом, чтобы соответствовать эти две альтернативы.

Обратите внимание на то, что здесь не может быть использована группа, не связанная с захватом (и даже предпочтительнее), но она менее читаема: /^\/(?:home)?$/.

 Смежные вопросы

  • Нет связанных вопросов^_^