2013-09-21 101 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