And*_*uss 2 python regex django urlconf
我正在使用Django并希望匹配URL domain.com/w和domain.com/words.我有一个表单的配置行:
url(r'^w(ords)?$', 'app_name.views.view_words')
Run Code Online (Sandbox Code Playgroud)
view_words只接受一个参数(request),但似乎Django捕获(ords)正则表达式的一部分并将其传递给视图.当我(ords)从正则表达式和访问中删除时domain.com/w,它正常工作.
Django文档和类似StackOverflow的问题,包括如何捕捉可选的URL参数,但我并不想捕捉从URL的参数.有没有办法匹配URL的可选元素而不将其作为参数捕获?
是的,使用非分组括号,(?:...)如下所示:
url(r'^w(?:ords)?$', 'app_name.views.view_words')
Run Code Online (Sandbox Code Playgroud)
另请参阅python正则表达式的文档