2014-06-09 58 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

很高興爲您服務 –