2013-11-20 87 views
0

我試圖創建快遞航線,這將同時匹配高級路線

/users/joe 

/users/joe-4574 

我知道我需要的正則表達式來解決這個問題,但嘗試過所有種類的組合,我似乎無法的讓它起作用。

注意:我想匹配任何用戶/ userid,喬和4574只是例子。

回答

0

如何:

app.get(/^\/users\/([a-z]+)(?:\-(\d+))?/, ...); 

這顯然假定用戶部分只能包含小寫az,並且該用戶ID的部分是全數字,但我會離開的細節給你:)

也匹配請求/users/joe-foobar,但它會設置req.params[1]null(因爲它無法比擬的全數字用戶ID)。