app.get('/:file.css', fn),我希望这个 file 是任意长的路径,目前用正则的方式是:app.get("/:file([0-9a-zA-Z]+).css", fn),很奇怪正则用 .+ 不行,\w+ 貌似也不行,奇怪。
回复 (3)
J
给楼主标记了代码..
app.get 字符串参数里不是使用正则的, 真要用正则也不能在字符串里写啊:
http://expressjs.com/api.html#app.VERB
app.get(/^\/commits\/(\w+)(?:\.\.(\w+))?$/, function(req, res){
var from = req.params[0];
var to = req.params[1] || 'HEAD';
res.send('commit range ' + from + '..' + to);
});
H
re = /^\/(?:[^\/]+\/)*(.+)\.html$/
re.exec("/folder/index.html"); // ["/folder/index.html", "index"]
还是正则爽,捕获到的是filename
R
express可以我这样的写法少,实测有效的,express 4,3应该也可以的 你这个正则太长了,我就是不想用正则这么长 比如:app.get("/:file.html"),这个file可以是/folder/index.html,也可以是/foo/bar/xx.html,我只要这个扩展名匹配就可以了
参与回复
登录后即可参与回复。登录