diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index 2ef3d6f169..2ad63bfc7d 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -86,7 +86,7 @@ def reverse_helper(regex, *args, **kwargs): """ # TODO: Handle nested parenthesis in the following regex. result = re.sub(r'\(([^)]+)\)', MatchChecker(args, kwargs), regex.pattern) - return result.replace('^', '').replace('$', '') + return result.replace('^', '').replace('$', '').replace('\\', '') class MatchChecker(object): "Class used in reverse RegexURLPattern lookup." diff --git a/tests/regressiontests/urlpatterns_reverse/tests.py b/tests/regressiontests/urlpatterns_reverse/tests.py index 8f571ac66c..610c3f7bc7 100644 --- a/tests/regressiontests/urlpatterns_reverse/tests.py +++ b/tests/regressiontests/urlpatterns_reverse/tests.py @@ -17,6 +17,7 @@ test_data = ( ('^hardcoded/$', 'hardcoded/', [], {}), ('^hardcoded/$', 'hardcoded/', ['any arg'], {}), ('^hardcoded/$', 'hardcoded/', [], {'kwarg': 'foo'}), + ('^hardcoded/doc\\.pdf$', 'hardcoded/doc.pdf', [], {}), ('^people/(?P\w\w)/(?P\w+)/$', 'people/il/adrian/', [], {'state': 'il', 'name': 'adrian'}), ('^people/(?P\w\w)/(?P\d)/$', NoReverseMatch, [], {'state': 'il', 'name': 'adrian'}), ('^people/(?P\w\w)/(?P\w+)/$', NoReverseMatch, [], {'state': 'il'}),