Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

182
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda