import re a = '(0 if ((aa+cc)<=vv) else ((aa+cc-vv)*(cv/(100+cv)))) if (aa<=vv) else ((aa - vv)*(cv/(100+cv)))' print(re.findall(r"[<>=]=|[-+*/=><&|%!^()]",a)) print(list(set(re.findall(r"[<>=]=|[-+*/=><&|%!^()]",a)))) # Unique occurrences
Standard input is empty
['(', '(', '(', '+', ')', '<=', ')', '(', '(', '+', '-', ')', '*', '(', '/', '(', '+', ')', ')', ')', ')', '(', '<=', ')', '(', '(', '-', ')', '*', '(', '/', '(', '+', ')', ')', ')']
['+', '*', '(', ')', '-', '/', '<=']