Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

184
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!