Las expresiones regulares de Java Script

Ubiqum

Las expresiones regulares, o regular expressions (abreviadas como regex o regexp), son una herramienta poderosa en JavaScript (y en muchos otros lenguajes de programación) que permite realizar búsquedas y manipulaciones avanzadas de cadenas de texto mediante patrones. En esencia, las expresiones regulares definen un patrón de búsqueda que puede ser utilizado para encontrar coincidencias en texto, reemplazar texto, validar datos, y mucho más.

Características de las Expresiones Regulares en JavaScript

Sintaxis básica:

  1. Una expresión regular se define entre dos barras inclinadas /:

javascript

const regex = /patrón/;

Alternativamente, puedes usar el constructor RegExp:

Modificadores

  • Los modificadores alteran la forma en que el patrón busca en el texto:
    • g (global): Encuentra todas las coincidencias, no solo la primera.
    • i (ignore case): Ignora las diferencias entre mayúsculas y minúsculas.
    • m (multiline): Permite que ^ y $ coincidan al inicio y final de cada línea, no solo al inicio y final del texto completo.

Ejemplo de uso con modificadores:

const regex = /texto/gi;

Caracteres Especiales

  • Algunos caracteres tienen significados especiales en expresiones regulares:
    • .: Coincide con cualquier carácter excepto una nueva línea.
    • \d: Coincide con cualquier dígito, equivalente a [0-9].
    • \w: Coincide con cualquier carácter de palabra (letras, números y guion bajo).
    • \s: Coincide con cualquier espacio en blanco (espacio, tabulación, nueva línea).
    • *: Coincide con 0 o más repeticiones del patrón anterior.
    • +: Coincide con 1 o más repeticiones del patrón anterior.
    • {n,m}: Coincide con al menos n y como máximo m repeticiones del patrón anterior.

Ejemplo de un patrón que coincide con un número de teléfono simple:

const regex = /\d{3}-\d{3}-\d{4}/;

Métodos Comunes

  • test: Verifica si un patrón existe en el texto. Devuelve true o false.

const regex = /abc/;

console.log(regex.test(“abcde”));  // true

  • exec: Busca una coincidencia y devuelve un array con detalles de la misma, o null si no encuentra nada.

const regex = /(\d+)/;

const resultado = regex.exec(“Hay 123 manzanas”);

console.log(resultado[0]);  // “123”

  • match: Busca coincidencias y devuelve un array con todas ellas.

const texto = “El código es 123 y el otro código es 456.”;

const coincidencias = texto.match(/\d+/g);

console.log(coincidencias);  // [“123”, “456”]

  • replace: Reemplaza coincidencias en el texto por un nuevo valor.

const texto = “1, 2, 3, 4, 5”;

const nuevoTexto = texto.replace(/\d+/g, ‘número’);

console.log(nuevoTexto);  // “número, número, número, número, número”

  • Ejemplo Práctico: Validación de un Correo Electrónico.

Para validar un correo electrónico básico, puedes usar la siguiente expresión regular:

const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

const esValido = emailRegex.test(“ejemplo@dominio.com”);

console.log(esValido);  // true

Conclusión.

Las expresiones regulares en JavaScript son una herramienta potente y flexible para el manejo de cadenas de texto. Aunque pueden parecer complicadas al principio, son extremadamente útiles para la validación, búsqueda y manipulación de texto en múltiples contextos.

¿Qué puedes aprender en UBIQUM?