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

122
Views
¿Cómo extraer contenido entre un paréntesis de apertura y cierre?

Estoy tratando de dividir una cadena en una matriz de contenidos de texto que están presentes dentro de los delimitadores [@ y ] . Solo los caracteres entre [@ y ] pueden coincidir. Al estar provisto de una cadena como ...

 const stringA = '[@Mary James], [@Jennifer John] and [@Johnny Lever[@Patricia Robert] are present in the meeting and [@Jerry[@Jeffery Roger] is absent.'

... se espera el siguiente resultado ...

 [ 'Mary James', 'Jennifer John', 'Patricia Robert', 'Jeffery Roger' ]

Se puede utilizar cualquier lógica que conduzca al resultado esperado.

Una autobúsqueda de una solución trajo la siguiente expresión regular aplicada ...

 stringA.match(/(?<=\[@)[^\]]*(?=\])/g);

Pero el resultado no cumple con los requisitos porque la matriz presenta los siguientes elementos...

 [ 'Mary James', 'Jennifer John', 'Johnny Lever[@Patricia Robert', 'Jerry[@Jeffery Roger' ]
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Cerrar, solo falta la exclusión de [ :

 stringA.match(/(?<=\[@)[^\[\]]*(?=\])/g); // ^^ exclude '[' as well as ']'
about 4 years ago · Juan Pablo Isaza Report

0

La expresión regular del OP no presenta el corchete de apertura dentro de la clase de carácter negado, por lo que cambia el /(?<=\[@)[^\]]*(?=\])/g del OP a (?<=\[@)[^\[\]]*(?=\]) ya resuelve el problema del OP para la mayoría de los entornos sin incluir los navegadores Safari debido a la búsqueda posterior que no es compatible .

Solución basada en una expresión regular ... /\[@(?<content>[^\[\]]+)\]/g ... con un grupo de captura con nombre ...

 const sampleText = '[@Mary James], [@Jennifer John] and [@Johnny Lever[@Patricia Robert] are present in the meeting and [@Jerry[@Jeffery Roger] is absent.' // see ... [https://regex101.com/r/v234aT/1] const regXCapture = /\[@(?<content>[^\[\]]+)\]/g; console.log( Array.from( sampleText.matchAll(regXCapture) ).map( ({ groups: { content } }) => content ) );

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!