import re
pattern = r"\s+\w+\s?(?::|\(\s*([^()]+)\s*\)|\[\s*([^]\[]+)\s*])\s*"
items = [
    ";or, art1 : art2 art3",
    ";or, art1 ( art2 art3 )",
    ";or, art1 [ art2 art3 ]",
    "SAD; Happy; ING:train coca",
    "SAD; Happy; ING(train coca)",
    "SAD, Happy, ING[train coca]"
]

for item in items:
    print(re.sub(pattern, r' \1\2', item))