import re
regex = re.compile(r"(?:[0-2])?[0-9]:[0-5][0-9](?::[0-5][0-9])?(?:(?:\\s)?[AP]M)?", flags=re.MULTILINE)
test_str = ("Nos dois sistemas.\n\n"
"Em 22 de maio de 2018 10:23, Sistema Delta <sistemaerp@deltasi.com.br>\n"
"escreveu:\n\n"
"> ##- Não escreva abaixo desta linha -##\n"
">\n"
"> *Comentário adicionado por FERNANDO TEIXEIRA BARROS em 22/05/2018 10:23*\n"
"> *Usuário:* FERNANDO TEIXEIRA BARROS* Data:* 22/05/2018 10:23:25\n"
">\n"
"> *COMENTÁRIO:*\n"
"> Bom dia Mayla,\n"
"> Apenas sistema Montafarma?\n"
"> ------------------------------\n"
">\n"
"> *ID Reporte: * #1468\n"
"> *Situação: * *ABERTO*\n"
"> *Módulo:* Produção\n"
"> *Tela:* ordem de pedido\n"
"> *Nome: * mayla.capana - MAYLA CAPANA\n"
"> *Emissão: * 22/05/2018 12:00:00\n"
"> *Fechamento: * -\n"
"> *Responsável: * DELTA SI\n"
"> *Prioridade: * Urgente\n"
"> *Tipo: * Ajuda\n"
">\n"
"> *MENSAGEM: *\n"
"> Bom dia,\n"
">\n"
"> Por favor liberar o meu acesso, Izac e Priscila, para a tela de Produção -\n"
"> Ordem de Pedido. (igual a tela que a Iza tem acesso).\n"
">\n"
"> Aguardo retorno.\n"
">\n"
"> Até,\n"
">\n"
">")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html