Javascript 如何在Express中使用以冒号分隔的路由参数定义路由?

Javascript 如何在Express中使用以冒号分隔的路由参数定义路由?,javascript,express,express-router,Javascript,Express,Express Router,我正在尝试的路线与此类似: /config/param1:param2:param3/ 考虑到param1 | 2 | 3都是路线参数,路线定义应该是这样的 /config/:param1::param2::param3/ 在请求被URI编码之前,它是有效的,即 /config/param1%3Aparam2%3Aparam3/ 我知道我可以定义两次路线,比如 router.get([ '/config/:param1::param2::param3', '/config/

我正在尝试的路线与此类似:

/config/param1:param2:param3/
考虑到
param1 | 2 | 3
都是路线参数,路线定义应该是这样的

/config/:param1::param2::param3/
在请求被URI编码之前,它是有效的,即

/config/param1%3Aparam2%3Aparam3/
我知道我可以定义两次路线,比如

router.get([
    '/config/:param1::param2::param3',
    '/config/:param1%3A:param2%3A:param3'
], ...);
但我真的想避免这种定义。我尝试过使用
encodeURIComponent
、字符转义和RegExp,但没有一个允许同时使用这两种方法


有比两次定义同一路由更好的方法吗?

在/config/:param1::param2::param3/?@中::代表什么?检查一个文本冒号符号,后跟params
:param1
等::在/config/:param1::param2::param3/?@检查一个文本冒号符号,后跟params
:param1