Ir al contenido
Allin

Bases de regex: guía para principiantes

Publicado el 10/10/2025 · 3 min de lectura · Herramientas para desarrolladores

Daniel Okonkwo

Daniel OkonkwoDesarrollador front-end y redactor de Tecnología en Allin

Rendimiento web · Formatos de archivo

Verificado con 2 fuentes

Ver perfil
En resumen

Una expresión regular (regex) es un patrón para buscar texto. Lo esencial: los caracteres literales se representan a sí mismos, . coincide con cualquier carácter, \d con un dígito, \w con un carácter de palabra, \s con un espacio; * significa cero o más, + uno o más, ? opcional; [abc] coincide con cualquiera de los listados, ^ y $ anclan al inicio y al final. Así \d{3}-\d{4} coincide con un número como 555-1234.

Una expresión regular es un patrón para buscar texto. Aquí tienes los bloques — clases de caracteres, cuantificadores y anclas — con un ejemplo.

Para qué sirven las regex

Una expresión regular describe un patrón en vez de una cadena exacta, lo que permite buscar, validar, extraer y reemplazar texto con mucha más flexibilidad. En lugar de buscar un número fijo, describes la forma de cualquier número y los encuentras todos. Impulsan el buscar-reemplazar de los editores, la validación de formularios y la extracción de datos de registros y textos.

Los bloques básicos

La mayor parte de un patrón es texto literal que se representa a sí mismo. Donde el texto varía, usas clases de caracteres: \d coincide con un dígito, \w con un carácter de palabra (letras, dígitos, guion bajo), \s con un espacio, y el punto . con casi cualquier carácter. Un conjunto entre corchetes como [aeiou] coincide con uno de los listados, y [^0-9] con todo menos esos.

Cuantificadores y anclas

Los cuantificadores dicen cuántas veces puede repetirse el elemento previo: * cero o más, + uno o más, ? opcional (cero o uno), y {3} exactamente tres, {2,4} entre dos y cuatro. Las anclas fijan la coincidencia: ^ marca el inicio del texto y $ el final, así que ^abc$ solo coincide con la cadena exacta 'abc'. Los paréntesis ( ) agrupan partes.

Un ejemplo resuelto

Para encontrar un número como 555-1234, describe su forma: tres dígitos, un guion, cuatro dígitos. Eso es \d{3}-\d{4}. Para permitir además un prefijo opcional entre paréntesis, puedes extenderlo paso a paso, probando sobre la marcha. Ten en cuenta que los cuantificadores son voraces por defecto — cogen todo lo que pueden — algo útil de recordar cuando los patrones se alargan.

Probador de regexPrueba una expresión regular y ve lo que hace: coincidencias resaltadas en el texto, cada grupo capturado listado, un panel de sustitución y el patrón releído pieza a pieza. Las banderas son botones que dicen qué cambian, y un patrón capaz de congelar la página se señala antes de ejecutarlo.Probar la herramienta

Preguntas frecuentes

¿Qué significa \d en regex?
Coincide con un dígito, de 0 a 9. Así \d{3} coincide con exactamente tres dígitos seguidos.
¿Diferencia entre * y +?
* coincide con cero o más del elemento previo, + con uno o más — así + exige al menos una aparición.
¿Las regex son iguales en todos los lenguajes?
La sintaxis básica es común, pero los detalles y variantes difieren entre JavaScript, Python, PCRE y otros — consulta la documentación de tu lenguaje para los casos límite.

Artículos que podrían interesarte

Todas las guías
ComparativaJSON vs XML: ¿cuál es la diferencia?JSON y XML almacenan ambos datos estructurados como texto, pero con compromisos distintos. Aquí tienes cómo se ve cada uno, dónde gana cada uno y cómo elegir.GuíaBuscar y reemplazar: las trampas de las expresiones regulares, demostradas una a unaCodicioso contra perezoso sobre la misma cadena, el punto que se salta los saltos de línea, $& y $$ en el reemplazo, una regex /g reutilizada que se salta una fila en silencio, y por qué /i no sabe nada de la i turca. Cada fallo ejecutado en Node, con una rutina contar-y-luego-reemplazar que los atrapa.ExplicaciónExtraer todas las direcciones de correo o URL de un bloque de textoUna URL al final de una frase se queda con el punto; una dirección de correo al final de esa misma frase, no. Un nombre acentuado dentro de una dirección vuelve truncado. Cada caso se pasó por las herramientas y aquí está la salida exacta.ExplicacióncamelCase vs snake_case: guía de las convenciones de nombres en el códigocamelCase, snake_case, PascalCase y kebab-case explicados: cómo se ve cada uno, dónde es la convención y cómo elegir uno de forma coherente.ExplicaciónEscapar una cadena para JSON: tres caracteres son obligatorios y uno es una trampaLa RFC 8259 exige escapar exactamente tres cosas dentro de una cadena JSON. Todo lo demás es opcional. El que de verdad rompe canalizaciones es un semisustituto suelto: legal en el texto JSON, imposible en UTF-8 y sustituido en silencio en cuanto tus datos se escriben.ExplicaciónDe XML a JSON: atributos, repetición y la trampa del array de un solo elementoDos documentos que solo se diferencian en cuántos hijos existen producen dos formas JSON distintas, y ningún conversor puede distinguirlos sin un esquema. Además, lo que este hace de verdad con los atributos, el contenido mixto y los espacios, y lo único que sigue sin poder registrar.

Herramientas relacionadas

Fuentes

¿Has detectado un error en este artículo?