作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建使用正则表达式进行路由的 node.js 服务器。
必须使用正则表达式在 node.js 中捕获的 URL
www.domain.com/people-images-taken-on-December-05-2011/
people-images-taken-on-
固定在 URL 中。我只想捕获月份、日期和年份。
我将像下面这样在 express 中捕获上面的 URL
app.get('/people-images-taken-on-{only alphabets}-{2 digits}-{4 digits} ',
我分别找到了每个模式的正则表达式
allows only alphabets - [a-zA-Z]+$
allows a 4 digits value - (\\d){4}
allows a 2 digits value - (\\d){2}
我试图把所有的东西都结合起来,但是我失败了很多次。任何人都可以为 url 模式提供正确的正则表达式吗?还有谁能告诉我这种基于正则表达式的路径处理是处理日期的好方法吗?
最佳答案
您可以使用 named parameters with custom regular expressions ,像这样:
app.get('/people-images-taken-on-:month([a-zA-Z]+)-:day(\\d{2})-:year(\\d{4})', ...)
这会将值存储在 req.params
中,如下所示:
{ month: 'December', day: '05', year: '2011' }
关于javascript - node.js 快速路由中 url 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894725/
我是一名优秀的程序员,十分优秀!