Bugün ikinci benzer konuyu yanıtlıyorum
replacements'a yeni bir anahtar kelime eklerken renklendirdiğim şekilde eklerseniz daha sağlıklı çalışır. değişecek kelime farklı bir kelime yada ek almışsa değişmeyecektir.


def get_dict(text):
    replacements = {r'\bday\b':'days',
                r'\bhour\b':'hours',
                r'\bminute\b':'minutes'}
    dic = {}
    for i, j in replacements.items():
            text = re.sub(i,j,text)
    keys = text.split(" ")
    for key in keys:
        if(key in replacements.values()):
            dic.update({key : int(keys[keys.index(key) - 1])})

    return dic
örneğiniz için kullanım:

string1 = '293 day 8 hour'
string2 = '56 day 1 hour 24 minute'

dict1 = get_dict(string1)
dict2 = get_dict(string2)
print(dict1)
print(dict2)
çıktısı:
{'days': 293, 'hours': 8}
{'days': 56, 'hours': 1, 'minutes': 24}