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