■
やってみた。
https://qiita.com/javacommons/items/9cdd4fdbf6e74c7f106b
def check_brackets1(s): dc = dict(zip('{}()[]','}{)(][')) lst = [] for c in s: if lst and c == dc[lst[-1]]: del lst[-1] else: lst.append(c) return not lst def check_brackets2(s): import re ptn = re.compile(r'({}|\(\)|\[\])') pre = '' while pre != s: pre = s s = ptn.sub('', s) return not s lst = '(){}[] ([{}]) (} [(]) ([{}()]) [({})](]'.split() for s in lst: print(s, check_brackets1(s), check_brackets2(s))