I suggest you use a re.findallfunction (to perform a global match) instead re.search, because it re.searchwill only return the first match.
>>> input_string = 'abcdefghijklmnopqrstuvwxyz1234567890'
>>> print re.findall(r'\d+|[a-z]+', input_string)
['abcdefghijklmnopqrstuvwxyz', '1234567890']
[a-z]*, . * , + .
>>> print re.search(r'\d+', input_string).group()
1234567890
>>> print re.search(r'[a-z]+', input_string).group()
abcdefghijklmnopqrstuvwxyz
, ?
>>> print re.search('[a-z]*', input_string).group()
abcdefghijklmnopqrstuvwxyz
>>> print re.search('[0-9]*', input_string).group()
>>>
* , .. , . [a-z]* abcdefghijklmnopqrstuvwxyz, . 8abcdefghijklmnopqrstuvwxyz, . - re.search, . 8 , , [a-z]* regex , 8.
regex = [0-9]*, string = "abcdefghijklmnopqrstuvwxyz1234567890"
re.search . a [0-9], [0-9]* , a, * . .
>>> print re.search('[0-9]*$', input_string).group()
1234567890
, . , .
>>> print re.search('[0-9]*$', '12foo').group()
>>>