Я работаю с расшифровками и испытываю проблемы с сопоставлением шаблонов без жадности. Это все еще слишком много и похоже на жадные матчи.
Стенограмма выглядит так:
>> Джон Доу: Здравствуйте, я Джон Доу.
>> Здравствуйте, я Джейн Доу.
>> Спасибо, что пришли, мы начнем через две минуты.
>> Сэм Смит: [без звука] Доброе утро всем.
Чтобы найти имя оратора в >> (WHATEVER NAME) :, я написал
pattern=re.compile(r'>>(.*?):')
transcript='>> John doe: Hello, I am John Doe. >> Hello, I am Jane Doe. >> Thank you for coming, we will start in two minutes. >> Sam Smith: [no audio] Good morning, everyone.'
re.findall(pattern, transcript)
Я ожидал 'John Doe'
и 'Sam Smith'
, но это дает мне 'John Doe'
и 'Hello, I am Jane Doe. >> Thank you for coming, we will start in two minutes. >> Sam Smith'
Я запутался, потому что .*?
не жадный, который (я думаю) должен быть в состоянии схватить 'Sam Smith'
. Как я должен исправить код, чтобы он захватывал только то, что в
>> (КАКОЕ ИМЯ) :? Также я использую Python 3.6.
Спасибо!