I have a list with sentences and I want to extract the first match of each sentence. I have another list with the same length that I want to be the names of the each columns.
Here's my first list, with the regex:
lista_regex_5_palavras_extract = [
    r'(ouvidoria\W+(\w+\W+){0,5}negou\W+(\w+\W+){0,5}informar\W+(\w+\W+){0,5}protocolo)',
    r'(ouvidoria\W+(\w+\W+){0,5}negou\W+(\w+\W+){0,5}passar\W+(\w+\W+){0,5}protocolo)',
    r'(ouvidoria\W+(\w+\W+){0,5}protocolo\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}reconhecido)',    
    r'(ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}reconhec(\w*\W+)(\w+\W+){0,5}protocolo)', # Radical    
    r'(ouvidoria\W+(\w+\W+){0,5}protocolo\W+(\w+\W+){0,5}ligacao\W+(\w+\W+){0,5}cai)',
    r'(ouvidoria\W+(\w+\W+){0,5}protocolo\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}valido)',
    r'(ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}aceita\W+(\w+\W+){0,5}protocolo)', 
    r'(ouvidoria\W+(\w+\W+){0,5}protocolo\W+(\w+\W+){0,5}invalido)',    
    # Fim da primeira parte
    
    r'(ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}consigu(\w*\W+)(\w+\W+){0,5}prosseguir)', # Radical    
    r'(nao consegu\W+(\w+\W+){0,5}acess(\w*\W+)(\w+\W+){0,5}ouvidoria)', # Radical    
    r'(nao\W+(\w+\W+){0,5}consegu(\w*\W+)(\w+\W+){0,5}reclamar\W+(\w+\W+){0,5}ouvidoria)', # Radical    
    r'(nao consegu(\w*\W+)(\w+\W+){0,5}contato\W+(\w+\W+){0,5}ouvidoria)', # Radical - Sem espaço    
    r'(nao consegu(\w*\W+)(\w+\W+){0,5}falar\W+(\w+\W+){0,5}ouvidoria)', # Radical - Sem espaço    
    r'(nao\W+(\w+\W+){0,5}consegu(\w*\W+)(\w+\W+){0,5}atendimento\W+(\w+\W+){0,5}ouvidoria)', # Radical    
    r'(nao\W+(\w+\W+){0,5}consegu(\w*\W+)(\w+\W+){0,5}registrar\W+(\w+\W+){0,5}ouvidoria)', # Radical    
    r'(dific(\w*\W+)(\w+\W+){0,5}contatar\W+(\w+\W+){0,5}ouvidoria)', # Radical    
    r'(custo\W+(\w+\W+){0,5}falar\W+(\w+\W+){0,5}ouvidoria)',    
    r'(ouvidoria\W+(\w+\W+){0,5}nao consegu(\w*\W+)(\w+\W+){0,5}contato)', # Radical - Sem espaço    
    r'(ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}consegu(\w*\W+)(\w+\W+){0,5}logar)', # Radical    
    r'(ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}consigo\W+(\w+\W+){0,5}logar)',    
    r'(tent\W+(\w+\W+){0,5}ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}consig)', # Radical    
    r'(ouvidoria\W+(\w+\W+){0,5}ligacao\W+(\w+\W+){0,5}cai)',
    r'(minutos\W+(\w+\W+){0,5}aguardando\W+(\w+\W+){0,5}ouvidoria)',
    r'(ouvidoria\W+(\w+\W+){0,5}ninguem\W+(\w+\W+){0,5}atende)',    
    r'(ouvidoria\W+(\w+\W+){0,5}nao atend)', # Radical - Sem espaço    
    r'(ouvidoria\W+(\w+\W+){0,5}nao me atend)', # Radical - Sem espaço    
    r'(ouvidoria\W+(\w+\W+){0,5}nao sou atend)', # Radical - Sem espaço    
    r'(ouvidoria\W+(\w+\W+){0,5}nao\W+(\w+\W+){0,5}reconhece\W+(\w+\W+){0,5}chamado)',    
    r'(ouvidoria nao funciona)', # Sem espaço    
    r'(tentei registrar\W+(\w+\W+){0,5}ouvidoria)', # Sem espaço    
    r'(tentei\W+(\w+\W+){0,5}ouvidoria\W+(\w+\W+){0,5}nao fui atend)', # Radical    
    r'(tentei\W+(\w+\W+){0,5}ouvidoria\W+(\w+\W+){0,5}nao conseg)', # Radical    
    r'(tentei\W+(\w+\W+){0,5}ouvidoria\W+(\w+\W+){0,5}nao atend)' # Radical
]
Here's the list with the column's names:
lista_regex_5_nome_colunas = [
    #'Geral_Regex_5_Palavras',
    'ouvidoria%negou%informar%protocolo_Regex_5_Palavras',
    'ouvidoria%negou%passar%protocolo_Regex_5_Palavras',
    'ouvidoria%protocolo%não%reconhecido_Regex_5_Palavras',
    'ouvidoria%não%reconhec%protocolo_Regex_5_Palavras',
    'ouvidoria%protocolo%ligação%cai_Regex_5_Palavras',
    'ouvidoria%protocolo%não%valido_Regex_5_Palavras',
    'ouvidoria%não%aceita%protocolo_Regex_5_Palavras', 
    'ouvidoria%protocolo%invalido_Regex_5_Palavras',
    'ouvidoria%nao%consigu%prossegui_Regex_5_Palavras', 
    'nao%consegu%acess%ouvidoria_Regex_5_Palavras', 
    'nao%consegu%reclamar%ouvidoria_Regex_5_Palavras',
    'nao%consegu%contato%ouvidoria_Regex_5_Palavras',
    'nao%consegu%falar%ouvidoria_Regex_5_Palavras',
    'nao%consegu%atendimento%ouvidoria_Regex_5_Palavras',
    'nao%consegu%registrar%ouvidoria_Regex_5_Palavras',
    'dific%contatar%ouvidoria_Regex_5_Palavras',
    'custo%falar%ouvidoria_Regex_5_Palavras',
    'ouvidoria%nao%consegu%contato_Regex_5_Palavras',
    'ouvidoria%nao%consegu%loga_Regex_5_Palavras',
    'ouvidoria%nao%consigo%loga_Regex_5_Palavras',
    'tent%ouvidoria%nao%consig_Regex_5_Palavras',
    'ouvidoria%ligação%cai_Regex_5_Palavras',
    'minutos%aguardando%ouvidoria_Regex_5_Palavras',
    'ouvidoria%ninguem%atende_Regex_5_Palavras',
    'ouvidoria%nao%atend_Regex_5_Palavras',
    'ouvidoria%nao%me%atend_Regex_5_Palavras',
    'ouvidoria%nao%sou%atend_Regex_5_Palavras',
    'ouvidoria%nao%reconhece%chamado_Regex_5_Palavras',
    'ouvidoria%nao%funciona_Regex_5_Palavras',
    'tentei%registrar%ouvidoria_Regex_5_Palavras',
    'tentei%ouvidoria%nao%fui%atend_Regex_5_Palavras',
    'tentei%ouvidoria%nao%conseg_Regex_5_Palavras',
    'tentei%ouvidoria%nao%atend_Regex_5_Palavras'
]
Here's what I tried to do:
zip_regex_lists = zip(lista_regex_5_nome_colunas, lista_regex_5_palavras_extract)
for x, y in zip_regex_lists:
    df[x] = df['RegistroDescricao_df'].str.extract(y)
But it gives me this error:
ValueError: Wrong number of items passed 4, placement implies 1
Even when I tried this:
for x in lista_regex_5_palavras_extract:
    df[x] = df['RegistroDescricao_df'].str.extract(x)
I'm still getting the exact same error.
What am I doing wrong? How can I achieve what I want?