我最初有这条路线来匹配任何 clientId
在 /c
之后这非常有效,因为我不必担心静态文件、ajax 端点或任何其他页面。
app.get('/c/:clientId'
请求进来是为了摆脱 /c
出于虚荣的目的,所以我尽力对静态文件等进行否定前瞻(?!css\/|js\/|...
同时做一个捕获组(.*)
获取 req.params[0]
的实际值.
不幸的是,我无法捕获“最多”第一个转发的值,最终使用了 (\w*)
。作为捕获解决方法。然而,这只会捕获 /client123
/client123/item/e0980780-efac-11e3-ac10-0800200c9a66
但不是 /some-super-duper-client5000
/some-super-duper-client5000/item/e0980780-efac-11e3-ac10-0800200c9a66
请看这里的例子:
如有任何见解,我们将不胜感激!
最佳答案
我不是 100% 清楚您想捕获什么和不想捕获什么,但也许使用它对您的捕获组有用?:
([^\/]*)
这将是最终结果正则表达式:
^\/(?!css\/|views\/|js\/|image\/|endpoint\/|style-guide)([^\/]*)$
实例:
关于javascript - Node 表达带有排除项的虚荣 url 路径参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128159/