用于快速路由器 url 的正则表达式匹配以 /public/ 开头的路径

Regex for express router url to match path starting with /public/

要求:需要匹配所有以/public/ token.

开头的url

我尝试了什么: 我尝试了下面的正则表达式来匹配所有以 /public/

开头的路径

正则表达式:/\/public\/.*/

当我在 regex101 中使用它时,它能够匹配以 /public/ token

开头的 url

但是当在 Express 路由器测试器中尝试相同的方法时 (http://forbeslindesay.github.io/express-route-tester/?_ga=1.180272292.1056934125.1459765156) 它不起作用

任何人都可以帮助我知道它不起作用的原因!!

示例代码:

我的期望是所有带有 /public/ 标记的 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.

正则表达式可与以下 Express 语法一起使用:

app.get(/\/public\/.*/, function(req, res) { 
   res.send('/\/public\/.*/'); 
});

但是,您似乎可以使用更简单的通配符模式 route.route:

router.route('/public/*')

其中 * 匹配任何 0+ 个字符。

根据我的评论写成:

虽然您可以使用 Regex 来匹配所有 URL 的匹配项 '/public',但您不需要 - 您只需将以下内容用于路由:

router.route('/public/*')