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.]+)
唯一の違いは、先行ピリオドと連続ピリオドが許可されることです。それが決して当てはまらない、または問題にならないことがわかっている場合、この正規表現ははるかに読みやすくなります。