Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex express、route中由/分隔的未知数量变量的正则表达式_Regex_Node.js_Express - Fatal编程技术网

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。