2014-10-22 3 views
0

Я пытаюсь использовать параметры регулярного выражения в маршрутизаторе для обработки нескольких путей, как указано ниже, вместе с параметром, который я ожидаю. Как я могу получить param из url, я попробовал req.params[0], он возвращал g.Параметры регулярного выражения регулярных выражений

https://mydomain.com/folder1/folder2/folder3/path1/image.png - 'path1/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

Над раствором улавливает большую часть разговора, для меня путь до тех пор, пока папка3 не станет статичной, а остальной будет динамический 'https: // mydomain.com/folder1/folder2/folder3 /' – tomalex

+0

Попробуйте это регулярное выражение, вероятно, вам нужно будет точно настроить {3}: /^ ((\/[^ \ /] +) {3}) (. +) $/ –

+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

Смежные вопросы