У меня есть серия текстов от панд.Твиты о собаках.Некоторые из твитов содержат имя собаки.Имя отображается следующим образом."... бла-бла-бла по имени имя . бла-бла-бла ..." Неизвестное количество символов до и после нужного мне произведения.Я хочу извлечь имя .
Я считаю, что мне нужно использовать положительные взгляды за утверждениями и опцию поиска регулярных выражений.Я посмотрел документацию для re.search, а также следующие вопросы SO: Как извлечь подстроку между двумя маркерами? и Захваченные Regex группы с положительным lookbehind (python) , а также этот урок https://www.rexegg.com/regex-lookarounds.html. Я все еще чувствую себя застрявшим.
У меня есть две идеи:
A)
tweet = 'This is a Shotokon Macadamia mix named Cheryl. Sophisticated af.'
m = re.search('(?<=named)[A-Z][a-z]+', tweet)
m.group(0)
B)
s.str.extract(^named([A-Z][a-z])\.$)
Согласно документации, A) должен вернуть 'Cheryl', но я получаю ошибку атрибута: AttributeError: 'NoneType' object has no attribute 'group'
.
B) работает только для серии, и не каждый элемент в серии твитов содержит "... named имя .»состав.Я не уверен, как включить это в код, чтобы он возвращал Шерил.