繁体   English   中英

node.js中的url的正则表达式表示路由

[英]regular expression for a url in node.js express routing

我正在构建node.js服务器,它使用正则表达式进行路由。

必须使用正则表达式在node.js中捕获的URL

www.domain.com/people-images-taken-on-December-05-2011/ 

The people-images-taken-on-固定在URL中 我只想捕捉月,日和年。

我将在下面的快递中捕获上述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 patern提供正确的正则表达式吗? 也有人可以告诉我这个基于正则表达式的路径处理是一个处理日期的好方法吗?

您可以使用自定义正则表达式的命名参数 ,如下所示:

app.get('/people-images-taken-on-:month([a-zA-Z]+)-:day(\\d{2})-:year(\\d{4})', ...)

这会将值存储在req.params如下所示:

{ month: 'December', day: '05', year: '2011' }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM