Python, модуль re

Имеется код:

import re

a = 'Value_1(point_value_s).UMAGValue_2(min_s).WValue_3(max_s).UMAG'

templates = [
    r'Value_1\(.+?\)\..+?',
    r'Value_2\(.+?\)\..+?',
    r'Value_3\(.+?\)\..+?'
]

template = ''
for i in range(len(templates)):
    template += '(%s)|' % templates[i]

print(re.findall(template[:-1], a))

Данный код выдает:

[('Value_1(point_value_s).U', '', ''), ('', 'Value_2(min_s).W', ''), ('', '', 'Value_3(max_s).U')]

Не могу понять, как сделать так, что бы выдавал нечто в роде:

[('Value_1(point_value_s).UMAG', '', ''), ('', 'Value_2(min_s).W', ''), ('', '', 'Value_3(max_s).UMAG')]

Ответы (1 шт):

Автор решения: Oopss
import re

a = 'Value_1(point_value_s).UMAGValue_2(min_s).WValue_3(max_s).UMAG'
t = 'Value'
g = re.split(t, a)
res = [t + i for i in g if i]
print(res)

['Value_1(point_value_s).UMAG', 'Value_2(min_s).W', 'Value_3(max_s).UMAG']
→ Ссылка