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

93
Views
combinar expresiones regulares para hacer coincidir subgrupos en orden diferente

Tengo una cadena que puede tener una de las 2 estructuras siguientes

 (\w+){1}([!][a-zA-Z0-9>,]+)*([#]\d+)? (\w+){1}([#]\d+)?([!][a-zA-Z0-9>,]+)*

algunos ejemplos serían

 "Abc1!deF2>Ghi3,4jlmNO!pQr5st#1400" "Abc1#1400!deF2>Ghi3,4jlmNO!pQr5st"

El objetivo es hacer coincidir lo siguiente

 ["Abc1", "!deF2>Ghi3,4jlmNO", "!pQr5st", "#1400"] ["Abc1", "#1400", "!deF2>Ghi3,4jlmNO", "!pQr5st"]

Puedo lograr obtener el resultado con 3 expresiones regulares, pero no con 1

 const a = str.match(/\w+/) const b = str.match(/([!][a-zA-Z0-9>,]+)/g) const c = str.match(/[#]\d+/)

¿Cómo puedo obtener el resultado esperado con una sola expresión regular?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Tal vez use | para separar posibles coincidencias:

 const regExp = /\w+|![a-zA-Z0-9>,]+|#\d+/g; console.log("Abc1!deF2>Ghi3,4jlmNO!pQr5st#1400".match(regExp)); console.log("Abc1#1400!deF2>Ghi3,4jlmNO!pQr5st".match(regExp));

También tenga en cuenta que (\w+){1} es equivalente a \w+ , y [!] y [#] son lo mismo que ! y # respectivamente.

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!