Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since enero de 2020.
El método matchAll() retorna un iterador de todos los resultados de ocurrencia en una cadena de texto contra una expresión regular, incluyendo grupos de captura.
Un objeto expresión regular. Si se pasa un objeto no-RegExp obj, este es implícitamente convertido a RegExp vía new RegExp(obj).
Un iterador (el cual no es reiniciable).
Antes de la adición de matchAll a JavaScript, fue posible hacer llamados a regexp.exec (y usar expresiones regulares con la bandera /g) en un ciclo para obtener las ocurrencias:
Con matchAll disponible, puedes evitar el ciclo while y exec con /g. Por el contrario, usando matchAll, obtienes un iterador con el cual puedes usar con constructores más convenientes for...of, array spread, o Array.from():
matchAll solo devuelve la primer ocurrencia si la bandera /g está ausente.
matchAll internamente hace un clon de la expresión regular, entonces a diferencia de regexp.exec, lastIndex no cambia a medida que la cadena es escaneada.
Otra buena razón para matchAll es el mejorado acceso a los grupos de captura. Los grupos de captura son ignorados cuando se usa match() con la bandera global /g:
Con matchAll puedes acceder a ellos:
| ECMAScript® 2027 Language Specification # sec-string.prototype.matchall |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 11 feb 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.