Regex express、route中由/分隔的未知数量变量的正则表达式
我有很多这样的链接:Regex express、route中由/分隔的未知数量变量的正则表达式,regex,node.js,express,Regex,Node.js,Express,我有很多这样的链接: router.use('/foo' , require('./foo')); router.use('/foo/1' , require('./foo')); router.use('/foo/2' , require('./foo')); router.use('/foo/1/1' , require('./foo')); router.use('/foo/2/3/4/.../n' , require('./foo')); 有没有办法编写一个正则表达式,通过/分隔符来匹
router.use('/foo' , require('./foo'));
router.use('/foo/1' , require('./foo'));
router.use('/foo/2' , require('./foo'));
router.use('/foo/1/1' , require('./foo'));
router.use('/foo/2/3/4/.../n' , require('./foo'));
有没有办法编写一个正则表达式,通过/
分隔符来匹配和分隔它们?像这样:
//for example for /foo/2/3/4/.../n url.
var first_var = req.param[0]; // 2
var last_var = req.param[req.param.length-1]; // n
我已经为比赛写了一篇。不分开:
router.use('/foo/*' , require('./foo'));
当您尝试在regex中执行此操作时,此regex将为您工作。如果我错过了什么案子,请告诉我
([^\/]+)
const regex=/([^\/]+)/g;
常量str=`/foo/2/3/4/5/n`;
让m;
m=str.match(regex);
对于(变量i=0;i<5;i++){
如果(i==0)
继续;
log(`Parameter${i}=${m[i]}`);
}
我不明白,如果所有路由都使用“/foo”,为什么要将它们分开?我想在其他逻辑函数中使用它们。这与./foo无关。用“/”拆分路径字符串是否不符合您当时的要求。我可以用javascript实现这一点。但对我来说,最好是用express本身。我希望在路由器中使用regex。使用。你是用javascript做的。顺便说一句,我认为在express中没有办法做到这一点。我做+1。