Using Python Regular Expression in Django

django, django-urls, python, regex

Solution

You need to wrap the group name in parentheses. The syntax for named groups is `(?P<name>regex)`, not `?P<name>regex`. Also, if you don't want to require a trailing slash, you should make it optional.

It's easy to test regular expression matching with the Python interpreter, for example:

>>> import re
>>> re.match(r'^org/?P<company_name>\w+/$', 'org/companyA')
>>> re.match(r'^org/(?P<company_name>\w+)/?$', 'org/companyA')
<_sre.SRE_Match object at 0x10049c378>
>>> re.match(r'^org/(?P<company_name>\w+)/?$', 'org/companyA').groupdict()
{'company_name': 'companyA'}

Problem

I have an web address: http://www.example.com/org/companyA I want to be able to pass CompanyA to a view using regular expressions. This is what I have: ``` (r'^org/?P<company_name>\w+/$',"orgman.views.orgman") ``` and it doesn't match. Ideally all URL's that look like example.com/org/X would pass x to the view. Thanks in advance!

Original source