1

我需要处理这样的请求:

/key/6435.254.53538

我写了在 RegexPal 中工作的正则表达式

(([0-9]+\.?)+)

我在 Express.js 中创建处理程序

/key/:key(([0-9]+\.?)+)

但它只返回密钥的最后一部分

req.params.key == '53538'

如何检索完整密钥?

4

1 回答 1

1

问题似乎是您不小心捕获了数字,并且只返回了最后一次捕获。尝试:

/key/:key((?:[0-9]+\.?)+)

或者

/key/:key(((?:[0-9]+\.?)+))

或者:

/key/:key([\d.]+)

唯一的区别是它允许领先和连续的时期。如果你知道这永远不会发生,或者不是问题,那么这个正则表达式更容易阅读。

于 2012-11-02T20:57:09.050 回答