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

127
Views
coincidencia de expresiones regulares de javascript

¿Por qué devuelve verdadero para

 const regex = /\+\+\+\+/gm; let test = `+++` if (test.matchAll(regex)) { alert(true) } else { alert(false) }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Según los documentos :

El método matchAll() devuelve un iterador de todos los resultados que coinciden con una cadena con una expresión regular, incluida la captura de grupos. - MDN

Entonces, si hay una coincidencia o no, devolverá un objeto iterador.

En su caso, no habrá una coincidencia y devolverá un iterador y se considera como un valor truthy .

Puede obtener todos los resultados y recopilarlos en una matriz y luego verificar la longitud de esa matriz para verificar la coincidencia como:

 const matches = [...test.matchAll(regex)];

Si no hay ninguna coincidencia, las matches serán una matriz vacía

 const regex = /\+\+\+\+/gm; let test = `+++`; const matches = [...test.matchAll(regex)]; console.log(matches); if (matches.length) { console.log(true); } else { console.log(false); }

Si hay una coincidencia, las coincidencias serán una matriz de coincidencias.

 const regex = /\+\+\+\+/gm; let test = `++++`; const matches = [...test.matchAll(regex)]; console.log(matches); if (matches.length) { console.log(true); } else { console.log(false); }

about 4 years ago · Juan Pablo Isaza Report

0

matchAll devuelve un iterador que, cuando se fuerza a un valor booleano, es true .

¿Quizás quisiste decir match ?

 const regex = /\+\+\+\+/gm; let test = `+++` if (test.match(regex)) { console.log(true) } else { console.log(false) }

Aunque para este propósito, RegExp.test() es mejor:

 const regex = /\+\+\+\+/gm; let test = `+++` if (regex.test(test)) { console.log(true) } else { console.log(false) }

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!