Поиск словосочетания в строке Python

Есть текст из него нужно найти Фамилии и инициалы. В строке могут быть 1 или несколько фамилий. Пример: "(лек)Название пары Петров А.А. ауд. 12 <-----> (пр)Название пары Рыбин О.А. ауд. 15" Вывод: "Петров А.А." "Рыбин О.А."


Ответы (1 шт):

Автор решения: CrazyElf

Простейшее регулярное выражение вам поможет:

import re

text = "(лек)Название пары Петров А.А. ауд. 12 <-----> (пр)Название пары Рыбин О.А. ауд. 15"
rx = re.compile(r'\w+\s+\w\.\w\.')
print(rx.findall(text))

Вывод:

['Петров А.А.', 'Рыбин О.А.']

Я тут даже не проверяю большие или маленькие буквы, у меня просто проверяется наличие строки формата:

\w+ строка из букв
\s+ пробел(ы)
\w  буква
\.  точка
\w  буква
\.  точка

Если нужно вы уж дальше как-то сами доделывайте.

→ Ссылка