Estou tentando criar um regex para gerar apenas as últimas 2 linhas correspondentes à solicitação. Eu tenho um arquivo de log com poucas linhas e quero pegar as últimas 2 linhas com:
primeira linha: "4bccf" e "Media"
segunda linha: "Live" e "4bccf" e "my"
Eu criei um regex para isso:
((?=.*\b4bccf\b)(?=.*\bMedia\b)|(?=.*\bLive\b)(?=.*\b4bccf\b)(?=.*\bmy\b))
isso funciona mas imprime todas as linhas com ("4bccf" e "Media") + todas as linhas com ("Live" e "4bccf" e "my")
Eu gostaria de obter apenas a última linha de cada um. É possível fazer isso em apenas um regex?
Se tiver ideia, estou muito interessado Obrigado
Aqui está um regex complexo (tipo PCRE) que faz o trabalho, mas sugiro que você escreva um script em sua linguagem de script favorita. Será muito mais sustentável!
Nota: Eu usei o
/x
sinalizador que permite comentários e não cuida de espaços, é muito útil para facilitar a leitura ;-) . Se o seu sabor regex não for compatível, remova todos os espaços e quebras de linha.Demonstração e explicação