Express Router Regex - Как сопоставить строковый литерал с дефисом? - PullRequest
2 голосов
/ 21 сентября 2019

У меня есть два маршрута.При доступе к test он также будет совпадать с example-test из-за дефиса.Я пытался избежать этого \-, но он все еще совпадает.Как я могу правильно сопоставить точное без вызова обоих маршрутов?

См. Пример :

app.use('/site/(:locale/)?test(.(xml|xml.gz))?', ...)
app.use('/site/(:locale/)?example-test(.(xml|xml.gz))?', ...)

1 Ответ

0 голосов
/ 21 сентября 2019

Я предполагаю, что, возможно,

/site/(?::locale/)?(?:example-)?test(?:\.xml\.gz|\.xml)

может быть в порядке, чтобы разобраться.

Демонстрация


Если вы хотите упростить / изменить / изучить выражение, это объяснено на верхней правой панели regex101.com .Если хотите, вы также можете посмотреть в эту ссылку , как она будет сопоставляться с некоторыми примерами ввода.


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...