要求:需要匹配所有以/public/ token开头的url。
我尝试了什么: 我尝试了下面的正则表达式来匹配所有以/public/开头的路径
正则表达式:/\/public\/.*/
当我在 regex101 中使用它时,它能够匹配以/public/token 开头的 url
但是当在 Express 路由器测试仪(http://forbeslindesay.github.io/express-route-tester/?_ga=1.180272292.1056934125.1459765156)中尝试相同时,它不起作用
谁能帮我知道它不起作用的原因!!
示例代码:
我的期望是所有带有/public/token 的 URL 都应该通过这条路线
router.route(/\/public\/.*/)
.get(function(req, res, result){
// TODO
});
例如:
https://localhost:8082/public/styles/styles.css
https://localhost:8082/public/js/rs.css
https://localhost:8082/public/images/qq.png
最佳答案
查看此 note :
Express Route Tester is a handy tool for testing basic Express routes, although it does not support pattern matching.
Regex 可以与以下 Express 语法一起使用:
app.get(/\/public\/.*/, function(req, res) {
res.send('/\/public\/.*/');
});
但是,您似乎可以在 route.route
中使用更简单的通配符模式:
router.route('/public/*')
其中 *
匹配任何 0+ 个字符。
关于用于快速路由器 url 的正则表达式以匹配以/public/开头的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36400665/