我最初使用此路由匹配clientId
/c
之后的app.get('/c/:clientId'
,因为我不必担心静态文件,ajax端点或任何其他页面。
/c
为了虚荣的目的,请求为了摆脱(?!css\/|js\/|...
所以我尽力为静态文件做出否定的预测,等(.*)
同时做一个捕获组{{1获取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
请参见此处的示例:
任何见解都将受到赞赏!
答案 0 :(得分:1)
我并不是100%清楚你想要捕捉什么以及你想要捕捉什么,但是使用它可能对你的捕捉小组有效?:
([^\/]*)
这将是最终结果正则表达式:
^\/(?!css\/|views\/|js\/|image\/|endpoint\/|style-guide)([^\/]*)$
实例: