import re
rx = r'^;.*|([()])|\s+'
s = """; Remove this line
(?A or :B
(G + D))"""
print(list(filter(None, re.split(rx, s, flags=re.M))))
aW1wb3J0IHJlCnJ4ID0gcideOy4qfChbKCldKXxccysnCnMgPSAiIiI7IFJlbW92ZSB0aGlzIGxpbmUgIAogICAgICg/QSBvciA6QgogICAgICAgIChHICsgRCkpIiIiCnByaW50KGxpc3QoZmlsdGVyKE5vbmUsIHJlLnNwbGl0KHJ4LCBzLCBmbGFncz1yZS5NKSkpKQ==
['(', '?A', 'or', ':B', '(', 'G', '+', 'D', ')', ')']