如何将路径与带有正则表达式的路径匹配到正则表达式?

时间:2019-05-21 14:52:58

标签: javascript node.js regex string express

我有通过用户ID获取用户的路径:

/user/{id}

然后将其转换为regexp:

pathToRegexp(path.replace(/\{/g, ':').replace(/\}/g, ''))

然后将其与

进行比较
const matchedPaths = this.map.filter((obj: mapper) =>
  requestUrl.match(obj.regexp)
)[0]

但是当我去/user/count时,它以为我要去/user/{id}

1 个答案:

答案 0 :(得分:0)

它将假定您要传递的任何参数。如果使用了相同的HTTP动词。 GET user / {id}-> GET use / regEx(anything)::将regEx(anything)作为参数。

app.get('/:id', function (req, res) {
    res.send(req.params.id)
})

     app.get(/.*fly$/, function (req, res) {
    res.send('/.*fly$/')
})

app.get(/.*plane$/, function (req, res) {
    res.send('/.*plane$/')
})
  

仅“ /:id”->将运行::

     

否则,两者都将运行::