2013-09-21 130 views
0

我使用Django和在urls.py有一個正則表達式模式:如何使用正則表達式匹配特定模式?

url(r'^note/(\d+)/$', 'publicnote'), 
url(r'^note/$', 'publicnote'), 

能正常工作。但我決定爲網址添加一個名稱。所以我重新設計的正則表達式:

url(r'^note/(\d*)/?$', 'publicnote',name='public_note'), 

但問題是,這將匹配note//

那麼,有沒有正則表達式,使其只匹配note/note/<an integer>/

回答

1

這個規則表達式應該工作:

r'^note/(?:(\d+)/)?$' 

?使得以前的組選。

+0

感謝它的工作:) – suhailvs

+0

請你解釋一下嗎?:' – suhailvs

+0

它使組織不捕獲。括號僅用於提供一個組來操作'?'。 – Barmar