如何在正则匹配的路由URL中引用捕获的分组参数?
Express路由正则捕获分组取值方法
- 你定义的无命名正则捕获分组,会按匹配顺序自动挂载到
req.params的数字索引属性上,你这里唯一的(A|B)捕获分组的匹配值,直接取req.params[0]即可,示例代码如下:
router.get("/(A|B)/account/", async (req, res) => { // 输出值为A或B,和实际请求路径的匹配结果一致 console.log(req.params[0]) });
- 如果你希望用语义化的字段名取值,可以改为带命名参数+正则限定的写法,和你原有路由的匹配规则完全等价:
// 命名参数type限定只能是A或B,后续直接通过参数名取值即可 router.get("/:type(A|B)/account/", async (req, res) => { console.log(req.params.type) });
内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture
相关产品推荐
相关产品推荐

