Помогите составить регулярное выражение обрезающие символы после двоеточия до конца
Есть три отдельные строчки:
Получил от тебя: The weather is great today
Получил от тебя: School
Зашифрованный текст: LJL KSLLJLF WD YTLOH EGFHM
Хочу чтобы регулярка выбирала все слова после двоеточия (там всегда на английском). Самое гениальное что я придумал: [A-Za-z]+, но он выводит в список слова по одному, их можно потом объединить - но это не то. Наверняка есть решение элегантнее
Ответы (2 шт):
Автор решения: lordcodes
→ Ссылка
Если я правильно вас понял:
original = """Получил от тебя: The weather is great today
Получил от тебя: School
Зашифрованный текст: LJL KSLLJLF WD YTLOH EGFHM"""
texts = []
for i in original.split('\n'):
temp = i.split(':')
if len(temp) > 3:
text = ':'.join(temp[1:-1])
else: text = temp[1]
print(texts)
Автор решения: Qwertiy
→ Ссылка
Вместе с двоеточием:
:.*
Без двоеточия:
(?<=:).*
Без двоеточия если оно встречается в строке ровно один раз:
[^:]*$
Во всех случаях заменить на пустую строку.
Ещё можно сохранить двоеточие заменой по первой регулярке на :.