> >>> s='555tHe-rain.in#=1234' > >>> import re > >>> r=re.compile(r'([a-zA-Z]+|\d+|.)') > >>> r.findall(s) > ['555', 'tHe', '-', 'rain', '.', 'in', '#', '=', '1234'] This is nice and simple and has the invertible property that Patrick mentioned above. Thanks much!