Давайте сделаем его однострочным:
import re
def type_and_size(s):
return re.split('[][]', s+'[1]', 2)[:2]
type_and_size('char')
['char', '1']
type_and_size('char[5]')
['char', '5']
Очевидно, что вы можете сделать:
type, size = type_and_size('char[5]')