2014-06-09 28 views
2

我原来有这条路线匹配/c之后的任何clientId工作很好,因为我不必担心静态文件,AJAX端点或任何其他页面。节点明确的虚荣url的路径参数与排除

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

请看这里举例:

http://regexr.com/38vk6

任何有识之士将不胜感激!

+0

现在,我通过'([\ w - 。] *)'增加了对短划线和点的支持,但理想情况下,仍然希望将任何内容加到第一个斜杠上,以便包含Unicode字符等。 –

回答

1

我你想要什么捕捉与你不希望捕捉到什么,但也许使用这会为你捕获组?:工作不清晰100%

([^\/]*) 

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

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

直播例如:

http://regexr.com/38vk9

+1

这就是失踪链接。谢谢! –

+0

很高兴为您服务 –