← Todas las herramientas

Probador de Expresiones Regulares

Crea, prueba y depura expresiones regulares en vivo sobre tu propio texto en el navegador. Aprende clases de caracteres, cuantificadores, anclas, grupos y flags.

Probador de regex: crea y depura patrones contra tu propio texto

Una expresión regular es un pequeño lenguaje para describir la forma del texto. En lugar de preguntar "¿está aquí esta palabra exacta?", una regex te permite preguntar "¿existe una cadena que se parezca a esto?". Eso es lo que la hace tan potente para buscar, validar, extraer y reemplazar texto en editores de código, archivos de registro, campos de formulario y scripts. También es lo que hace fácil equivocarse, porque un patrón que suena bien en tu cabeza puede, en silencio, coincidir con demasiado, con muy poco o con nada en absoluto.

Por eso probar de forma interactiva es mejor que adivinar. Cuando escribes un patrón y ves cómo las coincidencias se iluminan sobre texto de muestra real, obtienes retroalimentación instantánea: ves lo que se capturó, lo que se escapó y qué grupo de captura tomó cada pieza. Nuestro Probador de regex se ejecuta por completo en tu navegador. Tu patrón y tu texto de muestra nunca salen de la página, así que puedes pegar líneas de registro, correos electrónicos o datos de producción sin enviar nada a un servidor.

Filtro cian brillante que captura tokens dorados específicos de un flujo de datos en movimiento sobre un fondo índigo oscuro
Una regex actúa como un filtro, seleccionando solo los tokens que coinciden con tu patrón.

Los componentes básicos que vale la pena conocer

La mayoría de los patrones cotidianos se ensamblan a partir de un pequeño conjunto de piezas. Aprende estas y podrás leer la mayoría de las regex que te encuentres por ahí.

Las clases de caracteres describen un conjunto de caracteres permitidos. [aeiou] coincide con cualquier vocal, [0-9] coincide con un dígito y [a-zA-Z] coincide con una letra. Un acento circunflejo dentro de los corchetes niega el conjunto, así que [^0-9] significa "cualquier carácter que no sea un dígito". Las abreviaturas ahorran tecleo: \d es un dígito, \w es un carácter de palabra (letras, dígitos, guion bajo), \s es espacio en blanco, y el punto . coincide con casi cualquier carácter.

Los cuantificadores indican cuántas veces puede repetirse la pieza anterior. * significa cero o más, + significa uno o más, y ? significa cero o uno (opcional). Para conteos exactos, {3} significa exactamente tres y {2,4} significa de dos a cuatro. Así, \d{4} coincide con un año de cuatro dígitos y colou?r coincide con ambas grafías.

Los anclajes fijan un patrón a una posición en lugar de a un carácter. ^ coincide con el inicio del texto, $ coincide con el final, y \b marca un límite de palabra. El patrón ^Error solo coincide con líneas que empiezan por "Error", que es exactamente lo que quieres al revisar registros.

Los grupos envuelven parte de un patrón entre paréntesis, tanto para aplicar un cuantificador a varios caracteres a la vez como para capturar el texto coincidente y reutilizarlo. En (\d{4})-(\d{2})-(\d{2}) cada grupo captura un componente de fecha que puedes extraer después. La alternancia con la barra vertical actúa como "o": cat|dog|fish coincide con cualquiera de las tres palabras.

Patrones a los que realmente recurrirás

Unas pocas tareas recurrentes cubren la mayor parte del trabajo real. Para capturar algo tipo correo electrónico, [\w.+-]+@[\w-]+\.[\w.-]+ es un punto de partida pragmático; la validación completa de correos según la especificación formal es famosamente enrevesada, y un patrón laxo suele ser la opción correcta para resaltar candidatos en lugar de rechazar usuarios.

Para números, \d+ toma secuencias de dígitos, mientras que -?\d+(\.\d+)? coincide con negativos y decimales opcionales. Para recortar el espacio en blanco inicial y final, coincide con ^\s+|\s+$ y reemplázalo por nada. Para encontrar palabras duplicadas, el patrón de retrorreferencia \b(\w+)\s+\1\b coincide con una palabra seguida de sí misma, donde \1 remite al primer grupo capturado.

Palabras seleccionadas que brillan en dorado y resaltadas dentro de un río en movimiento de partículas cian similares a texto sobre azul marino oscuro
El resaltado en vivo muestra exactamente con qué fragmentos de tu texto coincide un patrón.

Las banderas cambian cómo se comporta la coincidencia

Las banderas son interruptores que modifican el patrón completo. La bandera global (g) encuentra cada coincidencia en lugar de detenerse en la primera, que es lo que quieres al resaltar todas las apariciones. La bandera sin distinción de mayúsculas (i) hace que error coincida con "Error" y "ERROR" por igual. La bandera multilínea (m) cambia ^ y $ para que coincidan al inicio y al final de cada línea, no solo del texto completo, lo cual es esencial para el trabajo con registros línea por línea. Otras banderas útiles incluyen s (dotall, que permite que el punto coincida con saltos de línea) y u para el manejo completo de Unicode.

Los dialectos difieren ligeramente según el lenguaje

La regex es una familia de dialectos, no un único estándar fijo. JavaScript, Python, PCRE (PHP), Java, .NET, Go y Rust coinciden en la sintaxis básica de arriba, pero divergen en los detalles: el soporte de lookbehind, la sintaxis de grupos con nombre ((?<name>...) frente a (?P<name>...)), los escapes de propiedades Unicode y qué banderas existen varían todos. Un patrón que funciona en un motor puede necesitar un pequeño ajuste en otro, así que conviene probarlo contra el dialecto con el que realmente publicas. Cuando tengas un patrón afinado, nuestras otras herramientas para desarrolladores y herramientas de texto pueden ayudarte con el trabajo aledaño de limpiar, codificar y transformar los datos que acabas de hacer coincidir.

Preguntas frecuentes

¿Mi texto se envía a un servidor?

No. El Probador de regex se ejecuta por completo en tu navegador. Tu patrón y tu texto de muestra permanecen en tu dispositivo y nunca se suben, así que es seguro pegar datos sensibles.

¿Qué dialecto de regex usa esta herramienta?

Usa el motor de regex de JavaScript integrado en tu navegador. La sintaxis básica coincide con la que conoces de la mayoría de los lenguajes, aunque algunas funciones avanzadas difieren ligeramente de PCRE, Python o .NET.

¿Cuál es la diferencia entre coincidencia voraz y perezosa?

De forma predeterminada, los cuantificadores son voraces y toman tanto texto como sea posible. Añadir un signo de interrogación los hace perezosos, de modo que toman tan poco como sea posible. Por ejemplo, el patrón punto asterisco es voraz, mientras que punto asterisco interrogación es perezoso.

¿Cómo coincido con un carácter especial literal?

Escápalo con una barra invertida. Para coincidir con un punto real, escribe barra invertida punto. Lo mismo aplica a otros metacaracteres como los paréntesis, los corchetes, el signo más y el signo de interrogación.

¿Por qué mi patrón no coincide con nada?

Las causas comunes son la falta de la bandera global, anclajes que fijan la coincidencia en la posición equivocada, un carácter especial sin escapar o cuantificadores voraces que se pasan del límite que esperabas. Prueba pieza por pieza para encontrar al culpable.

¿Puedo capturar partes de la coincidencia?

Sí. Envuelve una sección del patrón entre paréntesis para crear un grupo de captura. Cada grupo se reporta por separado, lo que te permite extraer campos como el año, el mes y el día de una fecha.