Python Django URL匹配任意140个字符

Python Django URL匹配任意140个字符,python,regex,django,Python,Regex,Django,我试图将视图映射到表单home/text的任何URL,其中文本为任何140个字符(包括空格)。有没有一个简单的方法可以做到这一点?我试过: url(r'^home/(?P<text>[\w]+)$',....), url(r'^home/(?P[\w]+)$,…), 但这既不允许使用空格,也没有对长度施加任何限制 如果您有任何建议,我将不胜感激,因为我在文档中找不到类似的内容,而且我是Django的新手 其中文本为任意140个字符(包括空格) 匹配单词和空格 您可以在URL正则表

我试图将视图映射到表单home/text的任何URL,其中文本为任何140个字符(包括空格)。有没有一个简单的方法可以做到这一点?我试过:

url(r'^home/(?P<text>[\w]+)$',....),
url(r'^home/(?P[\w]+)$,…),
但这既不允许使用空格,也没有对长度施加任何限制

如果您有任何建议,我将不胜感激,因为我在文档中找不到类似的内容,而且我是Django的新手

其中文本为任意140个字符(包括空格)

匹配单词和空格 您可以在URL正则表达式中添加
{140}
以指定长度,并添加
\s
以匹配空格:

url(r'^home/(?P<text>[\w\s]{140})$',....),
如果你低于这个长度,例如

>>> re.search(regex, "home/ abcd fghizzz")
# Doesn't match, returns None
>>> re.search(regex, "home/ abc")
# Doesn't match, returns None
匹配“任何内容”(不适用于URL,因为例如
#
) 如果您想匹配几乎任何内容:

>>> regex = r'^home/(?P<text>(.){10})$'
>>> re.search(regex, "home/1@#$%^& &*").group(1)
'1@#$%^& &*'
>>> re.search(regex, "home/1@bcd^& &*").group(1)
'1@bcd^& &*'
regex=r'^home/(?P({10})$” >>>检索(regex,“home/1@$%^&&*”)组(1) '1@#$%^& &*' >>>再搜索(正则表达式,“主页/1@bcd^&&*“”。集团(1) '1@bcd^& &*'
太棒了,谢谢。那么,除了括号中的空格之外,我还需要做些什么吗?这是无效的,因为\w将不匹配空格或特殊字符[\w]将匹配任何单词+空格。我还需要接受特殊字符,所以我尝试了:url(r'^home/(?P[.]{140})$,…),但这不起作用,我缺少什么吗?
()
不是
[。]
,为您在回答中尝试的内容添加了一个部分再次感谢,它现在几乎匹配所有内容,但是如果我输入一个类似“2???”的字符串,文本参数只捕获“2”。我能做些什么让它捕捉任何角色吗?
>>> regex = r'^home/(?P<text>(.){10})$'
>>> re.search(regex, "home/1@#$%^& &*").group(1)
'1@#$%^& &*'
>>> re.search(regex, "home/1@bcd^& &*").group(1)
'1@bcd^& &*'