节点表达带有排除的虚荣URL路径参数

时间:2014-06-09 20:10:05

标签: javascript regex node.js express

我最初使用此路由匹配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

请参见此处的示例:

http://regexr.com/38vk6

任何见解都将受到赞赏!

1 个答案:

答案 0 :(得分:1)

我并不是100%清楚你想要捕捉什么以及你想要捕捉什么,但是使用它可能对你的捕捉小组有效?:

([^\/]*)

这将是最终结果正则表达式:

^\/(?!css\/|views\/|js\/|image\/|endpoint\/|style-guide)([^\/]*)$

实例:

http://regexr.com/38vk9