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

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

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 Denunciar

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 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