2012-12-04 34 views
1

我有一個URL綁定到Tornado中的處理程序。例如是否有可能捕獲Tornado中處理程序的可選參數

(r'/browse/article/([a-zA-Z0-9_-]+)/([0-9]*)', ArticleHandler), 

然而,參數的數目是不固定的,這樣,有些人會是/browse/article/blah,別人會/browse/article/blah/2。換句話說,最後一個參數可能存在也可能不存在。

是否仍然可以使用單個處理程序來處理這種情況?如果是這樣,我應該如何制定正則表達式字符串來匹配所有可能的情況?

回答

6

試試這個:

(r'/browse/article/([a-zA-Z0-9_-]+)(?:/([0-9]*))?', ArticleHandler), 

這使得最後一段可選,同時保持捕獲括號完好,在他們以後使用的東西的情況。

相關問題