Erro: nada para repetir na posição

Eu tenho um arquivo de texto que contém uma lista de gírias e seus substitutos em inglês real. Eu converti esse arquivo de texto em um dicionário usando ":" como ponto de divisão e, ao imprimir o dicionário após a conversão, tudo parece bem.

No entanto, um erro originário desta linha:slangs_re = re.compile('|'.join(slang_dict.keys())) diznothing to repeat at position 112207.

Ao tentar depurar, descobri que o erro está de alguma forma vinculado ao dicionário. Isso ocorre porque quando executei o código logo abaixo, não obtive uma saída correta, mas também não recebi um erro. A saída esperada para este código é "fitness", mas a saída real é "fitess".

import re

test = "fitess"

slang_dict = {"fitess":"fitness", "damm":"damn"}

slangs_re = re.compile('|'.join(slang_dict.keys()))

def correct_slang(s, slang_dict=slang_dict):
    def replace(match):
        return slang_dict[match.group(0)]

    return slangs_re.sub(replace, s)

test = correct_slang(test)
print(test)

E este é o código do dicionário (desculpe, mas o arquivo de texto é muito grande para ser incluído. Uma amostra está disponívelaqui) A saída esperada é "fitness", mas a saída real é um erro:

import re

test = "fitess"

file = open("slang_conversion.txt","r")

slang_dict = {}

for line in file:
    x = line.split(":")
    a = x[0]
    b = x[1]
    c = len(b) - 1

    b = b[0:c]

    slang_dict[a] = b

slangs_re = re.compile('|'.join(slang_dict.keys())) # <-- error

def correct_slang(s, slang_dict=slang_dict):
    def replace(match):
        return slang_dict[match.group(0)]

    return slangs_re.sub(replace, s)

test = correct_slang(test)

print(test)

Ao ler outros tópicos do SO, vim a saber que é um bug em alguns casos, mas não parece ser um nesse caso.

Obrigado

questionAnswers(1)

yourAnswerToTheQuestion