Python 具有接受所有字符的url
我想要一个接受所有字符的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字符等 我如何才能做到这一点?正则表达式的外观如下: (.*)
(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)