Expresiones regulares en TypeScript con ejemplos

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

Expresiones Regulares en TypeScript: sintaxis, métodos y ejemplos



Las expresiones regulares (regex) son una herramienta poderosa para trabajar con cadenas de texto. En TypeScript, no solo permiten buscar, reemplazar y verificar texto, sino que también proporcionan un tipado estricto de los resultados. En este artículo, analizaremos todos los aspectos del trabajo con RegExp en TypeScript: desde la sintaxis básica hasta técnicas avanzadas con ejemplos de código.



1. Creación de expresiones regulares en TypeScript



En TypeScript, al igual que en JavaScript, existen dos formas de crear una expresión regular:



Sintaxis literal

La forma más común y conveniente es usar barras inclinadas:



const pattern: RegExp = /hello/gi;


Aquí g es búsqueda global, i es insensibilidad a mayúsculas/minúsculas. El tipo RegExp se infiere automáticamente, pero se puede especificar explícitamente para mayor claridad.



Constructor RegExp

Se utiliza cuando el patrón se forma dinámicamente:



const searchTerm: string = "world";const dynamicPattern: RegExp = new RegExp(searchTerm, "gi");


El segundo argumento es una cadena con las banderas. El tipo del valor devuelto es RegExp.



2. Métodos principales de RegExp y String



TypeScript hereda todos los métodos de JavaScript, pero añade un tipado estricto. Veamos los métodos clave con ejemplos.



Método test()

Verifica si hay una coincidencia en la cadena. Devuelve boolean.



const emailRegex: RegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;const email: string = "user@example.com";

const isValid: boolean = emailRegex.test(email);console.log(isValid); // true


Método exec()

Busca una coincidencia y devuelve información detallada. Devuelve RegExpExecArray | null.



const text: string = "Precio: 1500 rublos, descuento: 200 rublos";const pricePattern: RegExp = /(\\d+)\\s*rublos/g;

let match: RegExpExecArray | null;while ((match = pricePattern.exec(text)) !== null) { console.log(`Encontrado: ${match[0]}, número: ${match[1]}`);}// Salida:// Encontrado: 1500 rublos, número: 1500// Encontrado: 200 rublos, número: 200


Método match() de cadena

Funciona de manera similar a exec(), pero se invoca en la cadena. Devuelve RegExpMatchArray | null.



const phone: string = "Contactos: +7 (999) 123-45-67";const phoneRegex: RegExp = /\\+7\\s*\\(\\d{3}\\)\\s*\\d{3}-\\d{2}-\\d{2}/;

const result: RegExpMatchArray | null = phone.match(phoneRegex);if (result) { console.log(`Teléfono encontrado: ${result[0]}`); // Teléfono encontrado: +7 (999) 123-45-67}


Método replace()

Reemplaza las coincidencias con una nueva cadena. Devuelve string. Soporta un callback para reemplazos complejos.



function formatDate(input: string): string {    const datePattern: RegExp = /(\\d{4})-(\\d{2})-(\\d{2})/;    return input.replace(datePattern, "$3.$2.$1");}

const isoDate: string = "2025-03-10";const formatted: string = formatDate(isoDate);console.log(formatted); // "10.03.2025"


Método split()

Divide una cadena según una expresión regular. Devuelve string[].



const data: string = "manzana;pera;naranja;plátano";const items: string[] = data.split(/;\\s*/);console.log(items); // ["manzana", "pera", "naranja", "plátano"]


3. Banderas y sus combinaciones



Las banderas controlan el comportamiento de la expresión regular. En TypeScript se especifican ya sea en el literal o como segundo argumento del constructor.



BanderaDescripciónEjemplo
gBúsqueda global (todas las coincidencias)/ab/g
iInsensibilidad a mayúsculas/minúsculas

Blogs

Book Recommendations