我正在 try catch 此路由的两个字符的可选 :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
。
如何避免这种情况?
最佳答案
要解决此问题,您可以尝试使用下一个模式:
/:lang([a-z]{2})?/:rest(*)?
这里引入了另一个可选参数rest
来捕获这样的尾随。
您可以查看实例:
关于node.js - Express:匹配url中语言代码的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53010424/