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 julio de 2015.
El método match() devuelve todas las ocurrencias de una expresión regular dentro de una cadena.
Un objeto de expresión regular o cualquier objeto que tenga un método Symbol.match.
Si regexp no es un objeto RegExp y no tiene un método Symbol.match, se convierte implícitamente en RegExp usando new RegExp(regexp).
Si no se proporciona ningún parámetro y se utiliza el método match() directamente, se obtendrá un Array con una cadena vacía: [''], ya que esto es equivalente a match(/(?:)/).
Un Array cuyo contenido depende de la presencia de la bandera global (g), o null si no se encuentran coincidencias.
Si se usa la bandera g, se devolverán todos los resultados que coincidan con la expresión regular completa, pero no se incluirán los grupos de captura.
Si no se usa la bandera g, se devolverán sólo la primera coincidencia completa y sus grupos de captura relacionados. En este caso, match() devolverá el mismo resultado que RegExp.prototype.exec() (un Array con algunas propiedades adicionales).
La implementación de String.prototype.match en sí es muy simple. Se llama al método Symbol.match del argumento con la cadena como primer parámetro. La implementación real proviene de RegExp.prototype[@@match]().
Si se necesita saber si una cadena coincide con una expresión regular RegExp, use RegExp.prototype.test().
Si solo se desea que se encuentre la primera coincidencia, es posible que desee utilizar RegExp.prototype.exec() en su lugar.
Si se desea obtener grupos de captura y la bandera global g está siendo utilizada, debe usar RegExp.prototype.exec() o String.prototype.matchAll() en su lugar.
Para obtener más información sobre la semántica de match() cuando se pasa una expresión regular, consulte RegExp.prototype[@@match]().
En el siguiente ejemplo, se usa match para hallar 'Capítulo' seguido de uno o más caracteres numéricos seguidos de un punto decimal y caracteres numéricos cero o más veces.
La expresión regular incluye la bandera i por lo que las diferencias entre mayúsculas y minúsculas serán ignoradas.
En el resultado anterior:
El siguiente ejemplo demuestra el uso de la bandera global e ignorar mayúsculas con match(). Se devuelven todas las letras de la A a la E y de la a a la e, cada una con su propio elemento en el array.
Nota: Véase también String.prototype.matchAll() y Búsqueda avanzada con banderas.
En los navegadores que soporten grupos de captura con nombre, el siguiente código captura 'zorro' o 'gato' en un grupo llamado animal:
Si un objeto tiene un método Symbol.match, entonces se puede usar como un comparador personalizado. El valor de retorno de Symbol.match se convierte en el valor de retorno de match().
Véase RegExp.prototype[@@match]().
Cuando el parámetro regexp es una cadena o un número, se convierte implícitamente en RegExp mediante el uso de new RegExp(regexp).
Esto puede tener resultados inesperados si los caracteres especiales no se escapan correctamente.
Esta es una ocurrencia porque . en una expresión regular coincide con todos los caracteres. Para que solo coincida con el carácter de punto, se debe escapar de la entrada.
| ECMAScript® 2027 Language Specification # sec-string.prototype.match |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 24 jun 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.