【问题标题】:regular expression for a url in node.js express routingnode.js快速路由中url的正则表达式
【发布时间】:2016-06-18 08:02:35
【问题描述】:

我正在构建使用正则表达式进行路由的 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 模式提供正确的正则表达式吗?还有谁能告诉我这个基于正则表达式的路径处理是处理日期的好方法吗?

【问题讨论】:

    标签: javascript node.js regex express url-routing


    【解决方案1】:

    你可以使用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' }
    

    【讨论】:

    • 非常感谢您的帮助
    猜你喜欢
    • 2013-10-22
    • 2016-01-15
    • 2018-08-29
    • 2020-10-10
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    相关资源
    最近更新 更多