Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Recursive solution in Clear category for Unix Match. Part 2 by twilyght
def unix_match(filename: str, pattern: str) -> bool:
if filename == pattern:
return True
elif bool(filename) != bool(pattern):
return False
elif pattern.startswith('['):
i2 = pattern.index(']')
inv = pattern[1] == '!'
i1 = 1 + inv
chars = pattern[i1:i2]
return (filename[0] in chars) != inv and unix_match(filename[1:], pattern[i2 + 1:])
else:
return filename[0] == pattern[0] and unix_match(filename[1:], pattern[1:])
May 29, 2020
Comments: