[1.11.x] Fixed #27781 -- Made simplify_regex() remove outstanding '?' characters.
Regression inf0ef0c49e9
. Backport ofc37ec5a659
from master
This commit is contained in:
parent
7dda48bf18
commit
092f09fcc1
|
@ -436,7 +436,7 @@ def simplify_regex(pattern):
|
|||
pattern = replace_named_groups(pattern)
|
||||
pattern = replace_unnamed_groups(pattern)
|
||||
# clean up any outstanding regex-y characters.
|
||||
pattern = pattern.replace('^', '').replace('$', '')
|
||||
pattern = pattern.replace('^', '').replace('$', '').replace('?', '')
|
||||
if not pattern.startswith('/'):
|
||||
pattern = '/' + pattern
|
||||
return pattern
|
||||
|
|
|
@ -340,6 +340,7 @@ class AdminDocViewFunctionsTests(SimpleTestCase):
|
|||
(r'^(?P<a>(x|y))/b/(?P<c>\w+)$', '/<a>/b/<c>'),
|
||||
(r'^(?P<a>(x|y))/b/(?P<c>\w+)ab', '/<a>/b/<c>ab'),
|
||||
(r'^(?P<a>(x|y)(\(|\)))/b/(?P<c>\w+)ab', '/<a>/b/<c>ab'),
|
||||
(r'^a/?$', '/a/'),
|
||||
)
|
||||
for pattern, output in tests:
|
||||
self.assertEqual(simplify_regex(pattern), output)
|
||||
|
|
Loading…
Reference in New Issue