Usa el Explicador de Expresiones Regulares gratuito abajo: tus datos nunca salen de tu navegador, todo el trabajo ocurre en tu dispositivo y no se sube a ningún servidor.
Por que las expresiones regulares parecen sopa de codigo
Una expresion regular es un patron compacto para buscar texto: puede encontrar cada correo en un documento, validar un telefono o sacar fechas de notas desordenadas. El precio de ese poder es la legibilidad. Un patron como “^[A-Z][a-z]+\d{2,4}$” es preciso, pero para la mayoria de ojos parece un error de tipeo. Hasta los programadores con experiencia se detienen a descifrar un patron que no escribieron, y un solo caracter mal puesto puede cambiar por completo lo que encuentra.
La herramienta de arriba traduce un patron a pasos en lenguaje sencillo, uno por cada parte, y lo prueba en vivo con tu propio texto. En vez de adivinar que hace un patron, lees sus pasos en orden y ves las coincidencias resaltadas. Esa combinacion, explicacion mas prueba en vivo, es la forma mas rapida de entender, arreglar o confiar en un patron.
Como usar la herramienta
Pega un patron sin las barras que lo rodean, por ejemplo “^[A-Z][a-z]+\d{2,4}$”, y anade un texto de prueba abajo. Pulsa Explicar y probar. Los pasos aparecen en orden: primero las anclas, luego cada clase de caracteres, grupo y cuantificador. Debajo de los pasos, tu texto de prueba aparece con cada coincidencia resaltada, mas un conteo de coincidencias encontradas.
Prueba cambiar una pieza cada vez y observa como cambian los pasos y las coincidencias. Ese ciclo, editar, leer, probar, es como se aprenden los patrones y como se corrigen. Si el patron es invalido, la herramienta lo dice con claridad y muestra el mensaje de error del navegador, en vez de fallar en silencio o no encontrar nada por un motivo misterioso.
Las piezas basicas
La mayoria de patrones se construyen con pocas piezas. Un punto encuentra cualquier caracter excepto un salto de linea. Las clases entre corchetes encuentran un caracter de un conjunto, como “[A-Z]” para una mayuscula, y un acento circunflejo dentro de los corchetes niega el conjunto. Los escapes como “\d” para un digito, “\w” para un caracter de palabra y “\s” para un espacio son atajos para clases comunes.
Los cuantificadores dicen cuantas veces puede repetirse la pieza anterior: “*” para cero o mas, “+” para una o mas, “?” para cero o una, y “{2,4}” para entre dos y cuatro veces. Los grupos entre parentesis agrupan piezas, y un grupo que empieza con “?:” no captura. El caracter “|” significa “o”, y ofrece una alternativa. Las anclas “^” y “$” fijan la coincidencia al inicio o al final del texto. Cuando puedes nombrar estas piezas, la mayoria de patrones dejan de parecer sopa y empiezan a leerse como instrucciones.
Un ejemplo paso a paso
Toma “^[A-Z][a-z]+\d{2,4}$”. Los pasos dicen: inicio del texto, una letra mayuscula, una o mas letras minusculas, luego un digito repetido de dos a cuatro veces, luego fin del texto. Eso significa que encuentra una palabra con mayuscula seguida de dos a cuatro digitos y nada mas, como “Hello42”. No encuentra “hello42”, porque la primera letra es minuscula, ni “Hello4”, porque un digito es poco, ni “Hello42x”, porque el ancla final prohibe la letra extra.
Ahora quita las anclas y el mismo patron encuentra dentro de textos mas largos, hallando “Hello42” dentro de “Say Hello42 today”. Las anclas son la fuente de sorpresa mas comun: la gente prueba un patron sin ellas, ve una coincidencia y supone que valida todo el texto, cuando solo encontro una parte. El explicador muestra las anclas como pasos, asi ese error se ve con facilidad.
Errores frecuentes
Los cuantificadores voraces encuentran todo lo que pueden, lo que sorprende al analizar texto con marcas repetidas. Un patron como “<.*>” sobre “<b>hi</b>” encuentra toda la cadena, no solo la primera etiqueta, porque “.*” se estira hasta el ultimo “>”. Escapar es otra trampa: un punto que se quiere literal debe escribirse “\.”, o encontrara cualquier caracter, incluido el que no querias.
Las clases de caracteres tienen sus propias reglas: un guion entre caracteres significa un rango, asi que “[A-Z]” es un rango pero “[AZ-]” es un conjunto con un guion literal. Y recuerda que un patron que funciona con tu texto de prueba puede fallar con datos reales con acentos, saltos de linea o cadenas vacias. Prueba con casos extremos: entrada vacia, la entrada valida mas corta, y una entrada que deba fallar por cada regla.
Cuando no usar un patron
Los patrones son maravillosos para formas, como codigos, fechas e identificadores. Son una mala opcion para estructuras anidadas como HTML o para la validacion completa de correos, donde las reglas reales son mucho mas complejas que cualquier patron legible. Para esos trabajos, usa un analizador adecuado o un validador dedicado, y guarda los patrones para las partes que hacen bien.
Como habito, guarda los patrones cortos, escribe en un comentario para que sirven, y guarda unos casos de prueba junto a ellos. Un patron con su explicacion y sus pruebas es una herramienta en la que puedes confiar y que puedes entregar a otra persona. Un patron sin ellos es un rompecabezas que espera romperse en el peor momento.
Herramientas relacionadas
- Regex Explainer (English version)
- Calculadora de Proxima Ejecucion de Cron
- Minificador de JavaScript
