6
我需要构建一个路由器,它将REST请求路由到正确的控制器和操作。这里是一些例子:Javascript路由正则表达式
POST /users
GET /users/:uid
GET /users/search&q=lol
GET /users
GET /users/:uid/pictures
GET /users/:uid/pictures/:pid
重要的是有一个正则表达式和尽可能好的,因为路由是必不可少的,在每个请求完成。
我们首先必须用正则表达式替换:(直到结束或直到下一个正斜杠/),然后我们才能使用请求url验证url。
我们如何用正则表达式替换这些动态路由?如搜索以“:”开头并以“/”结尾的字符串,字符串结尾或“&”。
这是我的尝试:
var fixedUrl = new RegExp(url.replace(/\\\:[a-zA-Z0-9\_\-]+/g, '([a-zA-Z0-0\-\_]+)'));
出于某种原因,这是行不通的。我怎么能实现一个正则表达式,用正则表达式替换:id,或者在与真正的请求url比较时忽略它们。
感谢您的帮助
我认为'([\\ w - ] +)'中缺少下划线(_)? – 2016-09-26 14:36:26