Node.js Express路由器中的正则表达式

时间:2012-08-25 16:08:19

标签: regex node.js express

我试图找到一种方法将正则表达式输入到快速路由URL中,然后通过请求对象访问URL的变量部分。具体来说,我想路由到网址“/ posts /”+任意数量的数字。有没有办法做到这一点?

示例:

/posts/54
/posts/2
/posts/546

2 个答案:

答案 0 :(得分:9)

这应该这样做:

app.get('/posts/:id(\\d+)', function(req, res) {
    // id portion of the request is available as req.params.id
});

编辑:将正则表达式添加到路径以将其限制为数字

答案 1 :(得分:4)

我同意Johnny的观点,我唯一的补充就是你可以在任何级别上做到这一点。例如:

app.get('/users/:id/:karma', function(req, res){
    //Both req.params.id and req.params.karma are available parameters.
});

您还应该查看快速文档:http://expressjs.com/api.html。 请求部分可能对您非常有用。