Uma maneira rápida e concisa de combinar regex usando dois dicionários para armazenar a própria expressão e o resultado da pesquisa. Ambas as principais partes do par chave: valor contêm os mesmos Tag ao passo que o valor contém a expressão regular e o resultado, respectivamente.
regex = {'title' : "title_regex'",
'auth' : "auth_regex'",
'vers' : "vers_regex'",
'copy' : "copy_regex'"}
result = {'title': '',
'auth' : '',
'vers' : '',
'copy' : ''}
Um exemplo de regex pode ser;
“__ [tT] itle __ [”] * = [”] * ‘( w + ([‘ ‘] * w *) *) ‘”
Teste cada linha do texto analisado em relação a cada regex e armazene os resultados da pesquisa. Quando a pesquisa pode retornar várias correspondências, o exemplo abaixo pode ser retrabalhado para acomodar uma matriz de resultado como o valor retornado para o dicionário.
for line in infile:
for expr in regex:
found = re.match(regex[expr], line)
if found:
result[expr] = found.group(1)