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']