要求:需要匹配以 / public / 标记开头的所有网址。
我尝试了什么:我尝试使用下面的正则表达式来匹配所有以/ public /
开头的路径 RegEx:/\/public\/.*/
当我在regex101中使用相同的内容时,它能够匹配那些以/ public / token开头的网址
但是当在Express路由器测试器(http://forbeslindesay.github.io/express-route-tester/?_ga=1.180272292.1056934125.1459765156)中尝试相同时它无法正常工作
任何人都可以帮助我知道它不起作用的原因!!
示例代码:
我的期望是所有使用/ public / token声明的网址都应通过此路由
router.route(/\/public\/.*/)
.get(function(req, res, result){
// TODO
});
Exs:
https://localhost:8082/public/styles/styles.css
https://localhost:8082/public/js/rs.css
https://localhost:8082/public/images/qq.png
答案 0 :(得分:1)
请参阅此note:
Express Route Tester是测试基本Express路线的便捷工具,但它不支持模式匹配。
正则表达式可以使用以下Express语法:
app.get(/\/public\/.*/, function(req, res) {
res.send('/\/public\/.*/');
});
但是,您似乎可以使用更简单的通配符模式route.route
:
router.route('/public/*')
*
匹配任何0+个字符。
答案 1 :(得分:1)
从我的评论中写下来:
虽然您可以使用正则表达式匹配所有匹配'/public'
的网址,但您不需要 - 您只需使用以下内容作为路线:
router.route('/public/*')