Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Unix Match. Part 2 by freeman_lex
def unix_match(filename: str, pattern: str) -> bool:
if "[]" in pattern:
return False
table = str.maketrans({"*": ".*", ".": "\.", "?": ".", })
re_pat = pattern.translate(table)
re_pat = re_pat.replace("[!]", "").replace("!", "^")
return bool(__import__("re").search(re_pat, filename))
print("Example:")
print(unix_match("log1.txt", "log[1234567890].txt"))
# These "asserts" are used for self-checking
assert unix_match("log1.txt", "log[1234567890].txt") == True
assert unix_match("log1.txt", "log[!1].txt") == False
print("The mission is done! Click 'Check Solution' to earn rewards!")
Nov. 26, 2022