Buscar una coincidencia en un string con JavaScript
En este tutorial aprenderemos a identificar si una cadena de texto contiene un patrón específico utilizando el método .match(). Este método es una de las herramientas más potentes de la clase String para trabajar con expresiones regulares.
¿Qué es el método .match()?
El método .match() busca una coincidencia dentro de una cadena de texto. A diferencia de otros métodos que solo devuelven «verdadero» o «falso», .match() devuelve un array con los resultados encontrados o null si no hay ninguna coincidencia.
Sintaxis básica
JavaScript
cadena.match(regexp);
Ejemplo 1: Búsqueda de texto simple
Si pasamos un string directamente, JavaScript lo tratará como una búsqueda literal.
JavaScript
const cadena = "El perro duerme en su casita verde";
// Buscamos la secuencia "er"
let resultado = cadena.match("er");
// resultado contiene un array con información de la primera coincidencia
let resultado2 = cadena.match("hijo");
// resultado2 vale null porque no existe en el string
Dato clave: Aunque pases un string, internamente JavaScript lo convierte en una Expresión Regular básica.
Ejemplo 2: El verdadero potencial (Expresiones Regulares)
El uso principal de .match() es validar formatos mediante RegExp. Por ejemplo, para comprobar si un usuario ha introducido solo números.
JavaScript
// Expresión regular: solo permite números enteros (opcionalmente negativos) const reg = /^-?[0-9]+$/; let cadenaValida = "99"; let resultado1 = cadenaValida.match(reg); // resultado1 no es null (coincidencia encontrada) let cadenaInvalida = "Hola123"; let resultado2 = cadenaInvalida.match(reg); // resultado2 es null (contiene letras, no cumple el patrón)
Diferencias importantes: match() vs includes()
Es común confundir estos métodos. Aquí tienes una guía rápida para saber cuál usar:
| Método | Devuelve | Uso ideal |
.includes() | true / false | Verificaciones simples de «si existe o no». |
.match() | Array / null | Extraer datos o validar formatos complejos con RegExp. |
.test() | true / false | Validar una RegExp sin necesidad de extraer el texto. |
Ejemplo Avanzado: Búsqueda global
Si quieres encontrar todas las veces que aparece una palabra, debes usar el flag /g en tu expresión regular.
JavaScript
const texto = "Programar es genial, programar te abre puertas."; const buscador = /programar/gi; // 'g' global, 'i' ignora mayúsculas/minúsculas const coincidencias = texto.match(buscador); console.log(coincidencias); // Resultado: ["Programar", "programar"]
Resumen para recordar
- Si
.match()encuentra algo, devuelve un objeto array. - Si no encuentra nada, siempre devuelve null.
- Es la herramienta perfecta cuando necesitas usar expresiones regulares para validar formularios o extraer información de un texto.
El método match se suele utilizar en validaciones para comprMétodos de la clase String en JavaScript