Express路由匹配问题,怎么写?

/**
 * 匹配下列请求url,输出某张图片的不同尺寸
 * /photo/s2hNrpLZQBPRGU9W639Bg9M26ZReQ2Hn_S.jpg
 * /photo/s2hNrpLZQBPRGU9W639Bg9M26ZReQ2Hn_M.jpg
 * /photo/s2hNrpLZQBPRGU9W639Bg9M26ZReQ2Hn_L.jpg
 * /photo/s2hNrpLZQBPRGU9W639Bg9M26ZReQ2Hn.jpg
 * 
 * 注:URL后缀即为原始文件扩展名,因此,这个后缀是可变的。如:.gif, .png
 */

app.get('/photo/:uuid(_L|_M|_S)?.+?', require('./routes/photo').index);

以上的正则表达式/photo/:uuid(_L|_M|_S)?.+?做路由匹配,好像匹配不成功,求帮助~~~

sf.gg链接:http://segmentfault.com/q/1010000003968631
cnode链接:https://cnodejs.org/topic/5640020d8e90ab7c391e9f85

阅读 7.5k
2 个回答
app.get('/photo/[a-zA-Z0-9]+(_L|_M|_S)?\.[a-z]{3}', xxx);

不是app.get(/^\/photo\/[a-zA-Z0-9]+(_L|_M|_S)?\.[a-z]{3}/, fn)吗...
难道express的路由做了string类型的参数是否能成为regexp的判断?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏