在 Stack Overflow 上,您可以在 URL 上查看带有多个标签的问题列表,例如http://stackoverflow.com/questions/tagged/django+python
.
我想在我正在处理的项目中做类似的事情,其中一个 url 参数将是标签列表,但我不确定如何编写一个可以解析它的正则表达式 urlparser。我喜欢 SO 使用这个+
标志的方式,但这不是一个破坏者。我还想象 urlparser 可能必须将整个字符串 (foo+bar+baz) 作为单个变量提供给视图,这也很好,因为我可以在视图本身中拆分它 - 也就是说,我我不希望 URL 解析器给视图一个已经拆分的列表,但如果可以的话,那就更好了!
现在我只有:
url(r'^documents/tag/(?P<tag>\w+)/$', ListDocuments.as_view(), name="list_documents"),
这只是拉出一个标签,因为\w+
只是让我得到那些[A-Za-z0-9_]
,但不是+
。我试过类似的东西:
url(r'^documents/tag/(?P<tag>[\w+\+*])/$', ListDocuments.as_view(), name="list_documents"),
但这不再匹配documents/tag/foo
也不documents/tag/foo+bar
。
请协助,我对正则表达式不是很好,谢谢!