# http://stackoverflow.com/q/33205876/5290909
import re, string
text = "ABC-_-12345..::()"
punctuation = re.sub( r'([-\]\\])', r'\\\1', string.punctuation)
pattern = '[0-9]+|[a-zA-Z]+|[%s]+' % punctuation
result = re.findall( pattern, text)
print(result)
# => ['ABC', '12345', '..::()']
IyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcS8zMzIwNTg3Ni81MjkwOTA5CmltcG9ydCByZSwgc3RyaW5nCgp0ZXh0ID0gIkFCQy1fLTEyMzQ1Li46OigpIgoKcHVuY3R1YXRpb24gPSByZS5zdWIoIHInKFstXF1cXF0pJywgcidcXFwxJywgc3RyaW5nLnB1bmN0dWF0aW9uKQpwYXR0ZXJuID0gJ1swLTldK3xbYS16QS1aXSt8WyVzXSsnICUgcHVuY3R1YXRpb24KCnJlc3VsdCA9IHJlLmZpbmRhbGwoIHBhdHRlcm4sIHRleHQpCnByaW50KHJlc3VsdCkKCiMgPT4gWydBQkMnLCAnMTIzNDUnLCAnLi46OigpJ10=