Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可选命名组Python re_Python_Regex_Django - Fatal编程技术网

可选命名组Python re

可选命名组Python re,python,regex,django,Python,Regex,Django,在Django URL中,我需要一个可选的命名组。此不带参数的conf引发了404异常: r'^list_cv/(?P<category>[\d]+)?/$' r'^list\u cv/(?P[\d]+)?/$' 如何创建可选的命名组 最后一个斜杠应该是可选RE的一部分,RE应该是 r'^list_cv/(?:(?P<category>[\w+])?/)$' r'^list\u cv/(?:(?P[\w+])?/)$' 不过,我没有对它进行测试。我发现,为url创

在Django URL中,我需要一个可选的命名组。此不带参数的conf引发了404异常:

r'^list_cv/(?P<category>[\d]+)?/$'
r'^list\u cv/(?P[\d]+)?/$'

如何创建可选的命名组

最后一个斜杠应该是可选RE的一部分,RE应该是

r'^list_cv/(?:(?P<category>[\w+])?/)$'
r'^list\u cv/(?:(?P[\w+])?/)$'

不过,我没有对它进行测试。

我发现,为url创建一个单独的url模式而不使用命名组更为清晰

url(r'^list_cv/$', my_view),
url(r'^list_cv/(?P<category>[\d]+)/$', my_view),
url(r'^list\u cv/$,我的视图),
url(r'^list\u cv/(?P[\d]+)/$,我的视图),
对我来说是这样的:

r'^list_cv/(?:(?P<category>[\w+])/)?$'
r'^list\u cv/(?:(?P[\w+])/)?$'
编辑: 相比之下,不同之处在于重复匹配


(?:(?p[\w+])/)?$
与原始版本相比(?:(?p[\w+])?/)$(?:(?p[\w+])可能的重复版本并没有真正起作用,但第三个答案是使用这个r'^list\u cv/(?:(?p[\w+])?$谢谢,Mohammad Tayser!