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

标签 regex node.js express url-routing

要求:需要匹配所有以/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/

相关文章:

node.js - 当我使用 Passport.authenticate() 时,标题消失

用于由特定字符串包围的数字和空格的 JavaScript 正则表达式

python - 如何从 Python 中的字符串中提取数字及其索引

node.js - Nginx配置

javascript - RavenDB 无法在 nodejs 上使用 AND 运算符执行搜索

当操作系统滚动日志文件时,Node.js 日志记录会出现问题。

javascript - 使用 RegEx 将比例因子应用于 JavaScript 字符串变量

javascript - 如何将重叠的关键字与正则表达式匹配

javascript - Express Js : req. session vs cookie vs 本地存储 vs session 存储

javascript - 滥用 await 作为 return 语句的缺点?