Если вы считаете число вхождений буквы в одну или две цифры (не более), вы можете использовать следующее регулярное выражение для поиска пар вида lettre + number: r"(\w)(\d{1,2})"
.
Вот возможное решение:
import re
samples = ["a3b4x2", "a1192x12", "31142"]
for sample in samples:
result = ""
for couple in re.findall(r"(\w)(\d{1,2})", sample):
letter, number = couple
number = int(number)
result += letter * number
print(result)
Вы получаете:
aaabbbbxx
aaaaaaaaaaa99xxxxxxxxxxxx
3333333333344