Resumen
El método match()
se usa para obtener todas las ocurrencias de una expresión regular dentro de una cadena.
Sintaxis
cadena.match(regexp)
Parámetros
regexp
- Un objeto expresión regular. Si se pasa un objeto
obj
que no es expresión regular, se convierte implícitamente a RegExp usandonew RegExp(obj)
.
Descripción
Si la expresión regular no incluye el flag g
, devuelve el mismo resultado que Regexp.exec()
.
Si la expresión regular incluye el flag g
, el método devuelve un Array
que contiene todos los emparejamientos.
Notas
- Si necesita conocer si una cadena se empareja con una expresión regular
regexp
, useRegexp.test()
. - Si sólo quiere el primer emparejamiento hallado, podría querer usar
Regexp.exec()
a cambio.
Ejemplos
Ejemplo: Usando match
En el siguiente ejemplo, se usa match
para hallar "Capítulo
" seguido de 1 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 el flag i
por lo que las mayúsculas serán ignoradas.
cadena = "Para más información, vea Capítulo 3.4.5.1"; expresion = /(capítulo \d+(\.\d)*)/i; hallado = cadena.match(expresion); console.log(hallado);
Esto devuelve un arreglo que contiene Capítulo 3.4.5.1,Capítulo 3.4.5.1,.1
"Capítulo 3.4.5.1
" es el primer emparejamiento y el primer valor referenciado por (Chapter \d+(\.\d)*)
.
".1
" es el segundo valor referenciado por (\.\d)
.
Ejemplo: Usando los flags global e ignorar mayúsculas con match
El siguiente ejemplo demuestra el uso de los flags global e ignorar mayúsculas con match
. Todas las letras de A hasta E y de a hasta e son devueltas, en su propio elemento dentro del arreglo.
var cadena = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; var expresion = /[A-E]/gi; var arreglo_emparejamientos = cadena.match(expresion); console.log(arreglo_emparejamientos);
arreglo_emparejamientos
será ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']