2014-10-22 51 views
0

我試圖在路由器的正則表達式選項,以處理多個路徑,如下所述,以及我期待的參數。 我如何檢索網址的參數,我試過req.params[0]它返回g快遞正則表達式路由器參數

https://mydomain.com/folder1/folder2/folder3/path1/image.png - '路徑1/image.png' https://mydomain.com/folder1/folder2/folder3/image.png - 'image.png' https://mydomain.com/folder1/folder2/folder3/image_1.png - 'image_1.png'

app.get(/^\/folder1\/folder2\/folder3\/(.)*$/, function(req, res){ 
    console.log(req.params[0]); 
}); 

回答

0
app.get(/^.*\/([^\/]+)$/, function(req, res){ 
    console.log(req.params[0]); 
}); 
+0

上述方案被攔截大部分的呼叫,對於我的路徑,直到folder3將靜態和休息將是動態的'https:// mydomain.com/folder1/folder2/folder3 /' – tomalex 2014-10-22 08:55:36

+0

試試這個正則表達式您可能需要微調{3}: /^((\ \ [^ \ /] +){3})(。+)$/ – 2014-10-22 09:20:59

+0

我試過 'app.get('/ folder1/folder2/folder3 /((\\ d *))',function(req,res){console.log(req.params [0]); res.json({name:req.params [0]}); });' 但只工作了 https://mydomain.com/folder1/folder2/folder3/path1/34343sd.png 不是 https://mydomain.com/folder1/folder2/folder3 /path1/sdsd.png 我想允許任何字符 – tomalex 2014-10-22 17:01:17