Предполагается, что вы пытаетесь сопоставить что-либо после Hobby
, а не только skiing
и diving
конкретно.Один из вариантов - сопоставить всю строку, захватить Hobby:
в группе захвата и заменить строку записью плюс текст замены.Вы можете использовать re.M
для перехода в многострочный режим, позволяющий сопоставить конец строки, а не конец строки.
import re
string = '''
Name: Carolyn
Age : 20
Hobby: skiing, diving
'''
print(re.sub(r'(Hobby: ).*$', r'\1swimming, reading', string, flags=re.M))
result
Name: Carolyn
Age : 20
Hobby: swimming, reading