我想要一个只有2个替代/module/in/
或/module/out/
我正在使用
url(r'^(?P<status>\w+[in|out])/$',
'by_status',
name='module_by-status'),
但它与/module/i/
,/module/n/
和/module/ou/
等其他模式相匹配。
赞赏任何提示:)
答案 0 :(得分:9)
尝试r'^(?P<status>in|out)/$'
您需要删除\w+
,其中包含一个或多个字母数字字符或下划线。 bstpierre答案中建议的正则表达式'^(?P<status>\w+(in|out))/$'
将匹配helloin
,good_byeout
等等。
当我最初在2009年写这个答案时,Django无法反转使用管道符|
的正则表达式。但是从那以后,这个限制已被删除。 1.4 docs中提到了限制,但1.5 docs没有提到,因此我假设它在Django 1.5中已更改。
答案 1 :(得分:1)
你想要(in | out),你正在使用的[]表示一个包含字符'i','n','|','o','u','t'的字符类。