Skip to content

Commit d5748b8

Browse files
committed
Added empty negative lookahead in front of ranges which encompass path separator in fnmatch._translate().
1 parent c7f6d87 commit d5748b8

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

Lib/fnmatch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def _translate(pat, star, question_mark):
160160
add(question_mark)
161161
else:
162162
if question_mark != '.' and inside_range:
163-
add(f'(?={question_mark})')
163+
add(f'(?!)')
164164
# Escape set operations (&&, ~~ and ||).
165165
stuff = _re_setops_sub(r'\\\1', stuff)
166166
if stuff[0] == '!':

Lib/test/test_glob.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ def fn(pat):
514514
self.assertEqual(fn('foo/bar\\baz'), r'(?s:foo[/\\]bar[/\\]baz)\Z')
515515
self.assertEqual(fn('**/*'), r'(?s:(?:.+[/\\])?[^/\\]+)\Z')
516516

517-
self.assertEqual(fn('foo[%-0]bar'), r'(?s:foo(?=[^/\\])[%-0]bar)\Z')
517+
self.assertEqual(fn('foo[%-0]bar'), r'(?s:foo(?!)[%-0]bar)\Z')
518518

519519

520520
if __name__ == "__main__":

0 commit comments

Comments
 (0)