У меня есть образец строки из текстового файла. Я хочу найти все слова перед двоеточием до пробела. я написал такой код:
import re
text = 'From: mathew <mathew@mantis.co.uk>\nSubject: Alt.Atheism FAQ: Atheist Resources\n\nArchive-
name: atheism/resources\nAlt-atheism-archive-name:'
email_data = re.findall("[^\s].*(?=:)", text)
print(email_data)
Вывод:
['From', 'Subject: Alt.Atheism FAQ', 'Archive-name', 'Alt-atheism-archive-name']
Желаемый вывод:
['From', 'Subject', 'FAQ', 'Archive-name', 'Alt-atheism-archive-name']
Код забирает данные до символа новой строки из-за ( .*) используемый. Я хочу ограничить его до пробела, поэтому я поставил [^ \ s], но он не работает. Что я мог сделать вместо этого?