我需要处理这样的请求:
/key/6435.254.53538
我写的regexp在RegexPal中起作用
(([0-9]+\.?)+)
我在Express.js中创建了处理程序
/key/:key(([0-9]+\.?)+)
但它只返回键的最后一部分
req.params.key == '53538'
如何检索完整密钥?
答案 0 :(得分:1)
问题似乎是您意外捕获了数字,并且只返回了最后一次捕获。尝试:
/key/:key((?:[0-9]+\.?)+)
或
/key/:key(((?:[0-9]+\.?)+))
可替换地:
/key/:key([\d.]+)
唯一的区别是它允许领先和连续的时期。如果您知道永远不会出现这种情况,或者不是问题,那么这个正则表达式更容易阅读。