import re
x = "test1 21"
y = " test2 22"
z = " test3 [ 23 ]"
for a in [x, y, z]:
print(re.sub(r"(?<![^[\s])\s+|\s+(?=])", "", a.rstrip('\n').lstrip(' ').rstrip(';')).split(' '))
aW1wb3J0IHJlCgp4ID0gInRlc3QxICAgICAyMSIKeSA9ICIgICAgIHRlc3QyICAyMiIKeiA9ICIgICAgdGVzdDMgICAgWyAyMyBdIgoKZm9yIGEgaW4gW3gsIHksIHpdOgogICAgcHJpbnQocmUuc3ViKHIiKD88IVteW1xzXSlccyt8XHMrKD89XSkiLCAiIiwgYS5yc3RyaXAoJ1xuJykubHN0cmlwKCcgJykucnN0cmlwKCc7JykpLnNwbGl0KCcgJykp