import re
s = ['''-------------------------------
Генеральному директору
ООО «Порше Русланд»
Вернеру Томасу Штэрцелю
Ленинградское шоссе 71А, стр.10,
Москва 125445
-------------------------------''',
'''Представителю
конкурсного управляющего
АКБ «ЕНИСЕЙ» (ПАО)
А.Ф. Малахову
ул. Республики, д. 31,
г. Красноярск,
Красноярский край,
Россия, 660075
---------------------------------''',
'''Генеральному директору
АО «Строительно-монтажное
управление № 100»
Р.С. Лысенко
Рижский 1-й переулок, д.6А,
Москва, 129626
---------------------------------''',
'''Финансовому управляющему
имущественного должника
Щекастой Е.В.
Д.А. Петрову
а/я 121095, г. Красноярск, 660041
------------------------------------''',
'''Генеральному директору
АО «Международный
аэропорт «Внуково»
Д.И. Сапрыкину
д. 12, ул. 1-ая Рейсовая,
п. Внуково, г. Москва, 119027
---------------------------------''',
'''Шапито Ю.Ю.
Ленинградское ш., д.104,
кв. 17, г. Москва, 125195''',
'''Ленину В.И.
ул. Крупской, д. 12, кв. 22
141500, Москва''']
zipcodes = []
flats = []
houses = []
cities = []
streets = []
for text in s:
zip_code = re.findall(r"[^a\/я] \b(\d{6})\b", text)
if bool(zip_code):
zipcodes.append(zip_code[0])
kvartira = re.findall(r"(кв\. \d+)", text)
if bool(kvartira):
flats.append(kvartira[0])
dom = re.findall(r"(д\W+\d+\w+)", text)
stroenie = re.findall(r"(\d+\w+\,\s\w+\S\d+\w+)", text)
if bool(dom):
houses.append(dom[0])
if bool(stroenie):
houses.append(stroenie[0])
city = re.findall(r"(\d{6})\S\s([А-Я]\w+)", text)
if bool(city):
cities.append(city[0][1])
else:
city2 = re.findall(r"г\W+\w+", text)
if bool(city2):
cities.append(city2[0].replace('г. ', ''))
else:
city2 = re.findall(r"([А-Я]\w+\S)\s(\d{6})", text)[0]
if bool(city2):
cities.append(city2[0].replace(',', ''))
street = re.findall(r'ул. [а-яА-Я]+', text)
if bool(street):
streets.append(street[0])
street2 = re.findall(r'ул.\s+\S+\w+\s\w+', text)
if bool(street2):
streets.append(street2[0])
street3 = re.findall(r'\w+ ш\S\w+', text)
if bool(street3):
streets.append(street3[0])
street4 = re.findall(r'\w+ ш\.', text)
if bool(street4):
streets.append(street4[0])
street5 = re.findall(r'\w+\S\s\d\S\w\sпереулок', text)
if bool(street5):
streets.append(street5[0])
print('-' * 20)
print('Индексы')
print('-' * 20)
for i in zipcodes:
print(i)
print('-' * 20)
print('Квартиры')
print('-' * 20)
for i in flats:
print(i)
print('-' * 20)
print('Дома')
print('-' * 20)
for i in houses:
print(i)
print('-' * 20)
print('Города')
print('-' * 20)
for i in cities:
print(i)
print('-' * 20)
print('Улицы')
print('-' * 20)
for i in streets:
print(i)