javascript - ExpressJS 路由中的正则表达式

标签 javascript regex node.js express

在 ExpressJS 中,如何使用正则表达式在一个路由中对以下内容进行正确处理?

app.get('/blog', blog.list);
app.get('/blog/p/:page?', blog.list);

最佳答案

在这里使用 RegExp 有什么意义?表达模式更简单,但几乎与正则表达式一样强大:

app.get('/blog(?:/p/:page([0-9]+)?)?', blog.list);

此路由将匹配以下所有网址:

  • /blog
  • /blog/
  • /blog/p
  • /blog/p/
  • /blog/p/123

blog.list 中, Controller req.params.page 将包含页码,如果未提供,则为 undefined

关于javascript - ExpressJS 路由中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17807825/

相关文章:

javascript - 如何在 console.log 中设置文本背景颜色的样式?

javascript - 处理多个 JavaScript 替换匹配项

javascript - file.match(regex) 与提供的文件名不匹配

javascript - 在 Javascript 中访问对象属性

Javascript 无法读取 null 的属性 'innerText' - puppeteer

javascript - 单击鼠标添加声音

javascript - 如何在具有动态添加的行和单元格的表格中拖放单元格内容?

javascript - Leaflet - 可拖动标记和坐标以字段形式显示

regex - 如何从字符串中删除单引号等特殊字符?

javascript - Jest 覆盖率测试报告的准确性如何? Jest 测试覆盖率是如何计算的?我应该如何分析覆盖率结果?