Python 具有接受所有字符的url

Python 具有接受所有字符的url,python,django,Python,Django,我想要一个接受所有字符的url,例如: (r'^company/(?P<key>[a-zA-Z]+)/doclist/$','CompanyHub.views.docList') (r'^company/(?P[a-zA-Z]+)/doclist/$,'CompanyHub.views.doclist') 对于键参数,而不仅仅是ascii字母字符,它接受所有字符,包括数字、符号,如$、-、……、字母表、unicode字符等 我如何才能做到这一点?正则表达式的外观如下: (.*)

我想要一个接受所有字符的url,例如:

(r'^company/(?P<key>[a-zA-Z]+)/doclist/$','CompanyHub.views.docList')
(r'^company/(?P[a-zA-Z]+)/doclist/$,'CompanyHub.views.doclist')
对于
参数,而不仅仅是ascii字母字符,它接受所有字符,包括数字、符号,如$、-、……、字母表、unicode字符等


我如何才能做到这一点?

正则表达式的外观如下:

(.*)
(ur'^company/(?P<key>.*)/doclist/$','CompanyHub.views.docList')

应该匹配除新行字符以外的所有字符。

您的代码应该如下所示:

(.*)
(ur'^company/(?P<key>.*)/doclist/$','CompanyHub.views.docList')
(ur'^company/(?P.*)/doclist/$,'CompanyHub.views.doclist')
我们需要在开头使用“u”来告诉python字符串接受unicode字符。

正如其他人所说:

(.*)
…将匹配所有字符,但它也将匹配空字符串(如果正则表达式位于URL的末尾,则可能不好)。如果要强制至少需要一个字符,请使用以下命令:

(.+)

只是要清楚,这些工作在URL和结尾都是中间的,所以这样的工作非常完美:

url(ur'^package\/(?P<pkgname>.+)\/(?P<pkgversion>.+)', ... )
url(ur'^package\/(?P.+)\/(?P.+),…)
(正如@tsikov所说,使用前面的“u”表示unicode)