ExpressJS路由中的RegEx
RegEx in ExpressJS Route
在ExpressJS中,如何使用RegEx在一个路由中纠正以下问题?
app.get('/blog', blog.list);
app.get('/blog/p/:page?', blog.list);
在这里使用RegExp有什么意义?Express模式更简单,但几乎和正则表达式一样强大:
app.get('/blog(?:/p/:page([0-9]+)?)?', blog.list);
此路由将匹配以下所有URL:
/blog
/blog/
/blog/p
/blog/p/
/blog/p/123
在blog.list
中,控制器req.params.page
将包含页码,如果未提供,则为undefined
。
制作这些单独的路线似乎有令人信服的理由,但我不确定你的应用程序在做什么。
app.get(/^'/blog(?:'/p'/([0-9]+)?)?/, blog.list);
req.params[0]在路由/blog/p/20处应为"20",req.params作为/blog/p/或/blogg/的null
,但两者都作为功能路由。
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- Emberjs应用程序加载在除Index之外的所有路由上
- 正在使用$location.path(.)路由ng视图
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Regex代码只允许一个空格
- Regex匹配除“”之外的所有字符;.js”;
- RegExp:匹配Javascript中除regex值之外的所有内容
- Javascript RegEx validator
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 未激发路由的控制器属性上的观察者
- 制作一个regex来验证只有一个数字的字符串
- RegEx JavaScript:数字后的符号提取
- AngularJS ui路由器html5模式中断路由
- PHP和Javascript之间的Regex差异
- Nodejs-使用regex将多个参数添加到路由中
- Regex路由与Iron路由器
- AngularJS regex路由类似的url以加载不同的控制器和视图
- Backbone.js路由中的变量:需要regex
- ExpressJS路由中的RegEx
- Javascript中的Regex来匹配路由