Как можно по слову в строке найти значение?

Есть строка формата: 'Стр. 23 упр. 4' А есть формата: 'Упражнение 12 страница 2' Нужно чтобы программа возвращала распознанные данные опираясь на слова стр и упр, а также и их полную форму. При этом порядок упражнение-страница не должен играть роли.

import difflib

hometask = 'упр. 122, стр. 10'
# hometask = 'страница 122 упражнение 10'


def finder(hometask):
    lst = hometask.replace('.', '').replace(',', '').split()
    try:
        test2 = difflib.get_close_matches('страница', lst)
        test = lst.index(test2[0])
        page = lst[test + 1]
        num = lst[lst.index(difflib.get_close_matches('упражнение', lst)[0]) + 1]
    except ValueError:
        return -1
    else:
        return page, num
if __name__ == '__main__':
    print(finder(hometask))

Я попытался использовать difflib, но это не сработало Также я пытался использовать pymorphy2, но он не смог(и не должен был наверное) найти полную форму слова стр

import pymorphy2
morph = pymorphy2.MorphAnalyzer()
print(morph.parse('стр'))

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