1

我正在尝试:lang?为此路线捕获两个字符的可选参数:

/             // lang: undefined
/en           // lang: en
/projects     // lang: undefined
/en/projects  // lang: en

这是我的尝试:

router.get('/:lang([a-z]{2})?*', function(req, res, next) {

}

但是因为/projects它将:lang?参数设置为pr.

我怎样才能避免这种情况?

4

1 回答 1

1

要解决这个问题,您可以尝试使用下一个模式:

/:lang([a-z]{2})?/:rest(*)?

这里引入了另一个可选参数rest来捕获这样的尾随。

您可以查看实时示例:

于 2018-10-26T14:41:32.520 回答