Correspondência múltipla de Regex (linhas) *

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)