import re
regex = re.compile(r"(?=^\s*DETECTORES SELECCIONADOS HABILITADOS).{40}", flags=re.MULTILINE | re.IGNORECASE)
test_str = (" DETECTORES SELECCIONADOS HABILITADOS EVENTO NUMERO 2423 EM 20:38 13-03-15 \n"
" RELES ISOLADOS EVENTO NUMERO 2496 EM 05:21 23-03-15 \n"
" EVACUAÇAO EVENTO NUMERO 2497 EM 14:49 23-03-15 \n"
" ALARME SILENCIADO EVENTO NUMERO 2498 EM 14:49 23-03-15 \n"
" ENTRADA DE ALTERAÇOES NIVEL ACESSO 02 EVENTO NUMERO 2499 EM 14:49 23-03-15 \n"
" SAIDA SEM INTRODUÇAO DE ALTERAÇOES EVENTO NUMERO 2500 EM 14:49 23-03-15 \n"
" REPOSIÇAO GERAL REPOSIÇOES 0004 EVENTO NUMERO 2501 EM 14:50 23-03-15 \n"
"DEFEITO ZONA 023 DSP 094 L03 SIRENE Portaria DISPOSITIVO REMOVIDO EVENTO NUMERO 2502 EM 17:50 24-03-15 \n"
"FOGO 001 ZONA 011 DSP 033 L01 OPTICO Carrocel, ADM. Setor Qualidade EVENTO NUMERO 2503 EM 03:20 25-03-15 \n"
" SAIDA SEM INTRODUÇAO DE ALTERAÇOES EVENTO NUMERO 2504 EM 03:25 25-03-15 \n"
" SAIDA SEM INTRODUÇAO DE ALTERAÇOES EVENTO NUMERO 2505 EM 03:26 25-03-15 \n"
" EVACUAÇAO EVENTO NUMERO 2506 EM 03:26 25-03-15 \n"
" RELES HABILITADOS EVENTO NUMERO 2507 EM 03:26 25-03-15 \n"
" EVACUAÇAO DESLIGADA EVENTO NUMERO 2508 EM 03:26 25-03-15 \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