Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要处理这样的请求:
/key/6435.254.53538
我写了在 RegexPal 中工作的正则表达式
(([0-9]+\.?)+)
我在 Express.js 中创建处理程序
/key/:key(([0-9]+\.?)+)
但它只返回密钥的最后一部分
req.params.key == '53538'
如何检索完整密钥?
问题似乎是您不小心捕获了数字,并且只返回了最后一次捕获。尝试:
/key/:key((?:[0-9]+\.?)+)
或者
/key/:key(((?:[0-9]+\.?)+))
或者:
/key/:key([\d.]+)
唯一的区别是它允许领先和连续的时期。如果你知道这永远不会发生,或者不是问题,那么这个正则表达式更容易阅读。