Expresiones regulares en JavaScript con ejemplos para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción a las expresiones regulares en JavaScript

Las expresiones regulares (regex o regexp) son una herramienta poderosa para buscar, reemplazar y validar cadenas según un patrón determinado. En JavaScript (y Node.js) se implementan a través del objeto incorporado RegExp.

Para un principiante, la sintaxis de regex puede parecer intimidante, pero en realidad es solo un lenguaje para describir patrones. Una vez que domines las construcciones básicas, podrás:

  • Validar correos electrónicos, teléfonos, URL
  • Extraer datos de texto (análisis sintáctico)
  • Reemplazar subcadenas según reglas complejas
  • Filtrar y procesar la entrada del usuario

En este artículo, analizaremos expresiones regulares en JavaScript con ejemplos en Node.js. Todos los ejemplos se pueden ejecutar en la consola o en un entorno de ejecución.



Creación de una expresión regular en JS

En JavaScript, hay dos formas de crear una regex:

1. Sintaxis literal (recomendada)

const pattern = /hello/;  // Busca la palabra "hello"

El patrón se encierra entre dos barras diagonales. Después de la barra de cierre, se pueden especificar banderas (por ejemplo, i — búsqueda que no distingue entre mayúsculas y minúsculas).



2. Constructor RegExp

const pattern = new RegExp('hello');  // Equivalente a /hello/

Se utiliza cuando el patrón es dinámico (se forma a partir de una variable).



Banderas de expresiones regulares

  • i — ignorar mayúsculas/minúsculas (/hello/i encontrará "Hello", "HELLO")
  • g — búsqueda global (busca todas las coincidencias, no solo la primera)
  • m — modo multilínea (cambia el comportamiento de los anclajes ^ y $)
  • s — el punto coincide con el carácter de nueva línea
  • u — soporte para Unicode
  • y — búsqueda adhesiva (busca solo desde la posición lastIndex)
const regex = /javascript/gi;  // Busca "javascript" globalmente y sin distinción de mayúsculas/minúsculas


Métodos principales para trabajar con regex en JavaScript

Veamos los métodos clave que se utilizan con las expresiones regulares.



test() — verificación de la presencia del patrón

Devuelve true o false. Es el método más rápido para la validación.

const emailPattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$/i;console.log(emailPattern.test('user@example.com')); // trueconsole.log(emailPattern.test('invalid-email'));    // false


exec() — búsqueda con detalles

Devuelve un array con la coincidencia y los grupos. Con la bandera g, recuerda la posición.

const str = 'Precio: 100 rublos, descuento: 20 rublos';const pricePattern = /(\\d+)\\srublos/g;let match;while ((match = pricePattern.exec(str)) !== null) {  console.log(`Encontrado: ${match[0]}, número: ${match[1]}`);}// Salida:// Encontrado: 100 rublos, número: 100// Encontrado: 20 rublos, número: 20


match() — búsqueda en una cadena

Método de cadena. Sin la bandera g, devuelve la primera coincidencia (como exec). Con la bandera g, devuelve un array de todas las coincidencias.

const text = 'JS es JavaScript, no lo confundas con Java.';const jsMatches = text.match(/Java\\w*/g);console.log(jsMatches); // ['JavaScript', 'Java']


replace() — reemplazo según patrón

Reemplaza las coincidencias con una nueva cadena. Admite caracteres especiales ($1, $&).

const phone = '+7 (123) 456-78-90';const cleanPhone = phone.replace(/[\\s\\(\\)\\-]/g, '');console.log(cleanPhone); // +71234567890

// Reemplazo usando gruposconst date = '2024-03-15';const reversed = date.replace(/(\\d{4})-(\\d{2})-(\\d{2})/, '$3.$2.$1');console.log(reversed); // 15.03.2024


search() — índice de la primera coincidencia

const index = 'Hola mundo'.search(/mundo/);console.log(index); // 6                

Blogs

Book Recommendations