Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

181
Visualizações
Regex para registros de openldap

Estoy tratando de construir una expresión regular para dividir los registros de openldap en diferentes grupos de expresiones regulares

Registros:

 620da112 conn=2871219 op=1 SRCH attr=extensionAttribute6 620da112 conn=2871220 fd=60 ACCEPT from IP=10.17.28.159:35708 (IP=0.0.0.0:19000) 620da112 conn=2871219 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= 620da112 conn=2871219 op=2 UNBIND 620da112 conn=2871219 fd=52 closed 620da112 conn=2871220 fd=60 TLS established tls_ssf=256 ssf=256 620da112 conn=2871220 op=0 BIND dn="cn=admin,dc=ClinicalPortal" method=128

Necesito crear una expresión regular en la que deba dividir cada una en un grupo para poder asignarla a una variable y luego la parte restante después de la operación (DESVINCULACIÓN, cerrado, TLS establecido, VINCULACIÓN...) a una variable diferente (por ejemplo: etiqueta = 101 err = 0 nentries = 1 texto = a una variable diff) He probado la siguiente expresión regular hasta ahora, pero no funciona para todas las líneas e incluso no da los últimos valores (por ejemplo: tag=101 err=0 nentries=1 text= a una variable diff) como una sola expresión de grupo:

 function printMatch(line){ const matchings = myRe.exec(line); console.log("Line --START"); if(matchings !=null){ for(var i=0;i<matchings.length;i++){ console.log("Group "+i+":"+matchings[i]); } } else { console.log("Line "+line+" do not match the REGEX"); } console.log("Line --END"); } const myRe = /^([A-Za-z[0-9]{8})\s([=A-Za-z[0-9]*)\s([=A-Za-z[0-9]*)\s([AZ\s{1}]*)/g; printMatch('620da112 conn=2871219 op=1 SRCH attr=extensionAttribute6'); printMatch('620da112 conn=2871220 fd=60 ACCEPT from IP=10.17.28.159:35708 (IP=0.0.0.0:19000)'); printMatch('620da112 conn=2871219 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text='); printMatch('620da112 conn=2871219 op=2 UNBIND'); printMatch('620da112 conn=2871220 fd=60 TLS established tls_ssf=256 ssf=256'); printMatch('620da112 conn=2871220 op=0 BIND dn="cn=admin,dc=ClinicalPortal" method=128');

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

"¿El OP está buscando una tokenización similar a esta? .. /^(?<id>[a-zA-Z0-9]{8})\s+(?<conn>\w+=\S+)\s+(?<op>\w+=\S+)\s+(?<cmd>.*?)\s*(?<rest>\w+=.*)?$/gm – Peter Seliger

"¡Funciona de maravilla! ¿Podría responder a esta en lugar de un comentario? Me gustaría aceptarlo como respuesta". – Conquistador

 const multilineSample = `620da112 conn=2871219 op=1 SRCH attr=extensionAttribute6 620da112 conn=2871220 fd=60 ACCEPT from IP=10.17.28.159:35708 (IP=0.0.0.0:19000) 620da112 conn=2871219 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= 620da112 conn=2871219 op=2 UNBIND 620da112 conn=2871219 fd=52 closed 620da112 conn=2871220 fd=60 TLS established tls_ssf=256 ssf=256 620da112 conn=2871220 op=0 BIND dn="cn=admin,dc=ClinicalPortal" method=128`; const regXNamedTokens = // see ... [https://regex101.com/r/k9mUPP/1] /^(?<id>[a-zA-Z0-9]{8})\s+(?<conn>\w+=\S+)\s+(?<op>\w+=\S+)\s+(?<cmd>.*?)\s*(?<rest>\w+=.*)?$/gm; console.log( 'all match results ...', Array.from( multilineSample.matchAll(regXNamedTokens) ) ); console.log( 'all results each with its mapped named capture group ...', Array.from( multilineSample.matchAll(regXNamedTokens) ) .map(({ groups }) => groups) );
 .as-console-wrapper { min-height: 100%!important; top: 0; }

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda