Menu

Probador de Regex

Prueba expresiones regulares con resaltado animado de coincidencias.

Última actualización

Flags
Texto de pruebaPega texto para empezar
CoincidenciasSin coincidencias
Las coincidencias aparecen aquí — índices, grupos capturados y conteos, en vivo.

¿Qué es un regex tester?

Un regex tester te permite escribir una expresión regular y ver al instante qué coincide en un texto de prueba. Las regex (expresiones regulares) se usan para validar entradas de formulario, extraer datos de cadenas, buscar en logs, limpiar texto, escribir comandos en el editor o crear reglas de buscar y reemplazar.

Al principio el regex parece un jeroglífico porque unos pocos símbolos significan muchas cosas. Un probador en vivo te lo desmitifica: cada carácter que tecleas actualiza las coincidencias resaltadas y los grupos de captura, así puedes experimentar hasta que el patrón haga exactamente lo que necesitas.

Cada lenguaje usa un motor de regex con pequeñas diferencias (JavaScript, PCRE, Python, Java, Go, .NET). Lo fundamental — caracteres, clases, cuantificadores, anclas y grupos — funciona igual en todos. Las funciones avanzadas (lookbehind, grupos con nombre, cuantificadores posesivos) son donde los motores se separan.

Lo que aprenderás probando regex

  • Un patrón describe la *forma* del texto, no su significado. \d+ coincide con una secuencia de dígitos, pero no sabe si el número tiene sentido.
  • Las flags cambian el comportamiento: g busca todas las coincidencias, i ignora mayúsculas/minúsculas, m hace que ^ y $ coincidan con inicios y finales de línea, y s permite que . coincida con saltos de línea.
  • Los grupos de captura (...) extraen partes de una coincidencia, no solo comprueban si toda la cadena coincide — son imprescindibles para parsear.

Cómo usar el regex tester paso a paso

  1. Escribe tu patrón

    Introduce una expresión regular en el campo de patrón. No incluyas las barras / que la rodean: son sintaxis literal de JavaScript, no forman parte del patrón en sí.

  2. Activa las flags que necesites

    Lo más habitual es usar g (encuentra todas las coincidencias) e i (ignora mayúsculas y minúsculas). Usa m para anclas por línea y s para que . también coincida con saltos de línea.

  3. Pega tu texto de prueba

    Echa un texto de muestra en el área de prueba. Las coincidencias se resaltan a medida que escribes y los grupos de captura aparecen debajo de la lista de coincidencias.

  4. Lee el panel de coincidencias

    Cada coincidencia muestra su posición, el texto completo y los grupos capturados. Úsalo para verificar que el patrón atrapa lo que quieres y descarta lo que no.

  5. Refina hasta que sea correcto

    Ajusta cuantificadores, añade anclas (^, $) o escapa caracteres literales (\., \?) hasta que las coincidencias y los grupos sean exactamente los que tu código necesita.

Hoja de referencia de regex

El 80% del regex que vas a usar el 99% del tiempo. Guárdalo en favoritos: es la forma más rápida de recordar la sintaxis. Para la gramática completa, consulta la guía de expresiones regulares de MDN.

TokenSignificadoEjemplo
.Cualquier carácter (excepto salto de línea)a.c coincide con abc, a-c
\d \DDígito / no dígito\d+ coincide con 123
\w \WCarácter de palabra (letra/dígito/_) / no palabra\w+ coincide con hello_1
\s \SEspacio en blanco / no espacio\s+ coincide con espacios y tabulaciones
[abc]Cualquiera de a, b o c[aeiou] coincide con una vocal
[^abc]Ninguno de a, b ni c[^0-9] coincide con no dígitos
* + ?0+, 1+, 0 o 1 del anteriora+ coincide con a, aaa
{n} {n,m}Exactamente n / entre n y m\d{3,5} de 3 a 5 dígitos
^ $Inicio / fin de cadena (o línea con m)^Error la línea empieza con Error
(...)Grupo de captura(\d+) captura los dígitos
(?:...)Grupo sin captura(?:foo|bar) agrupa sin capturar
a|bAlternancia: a o byes|no
\bLímite de palabra\bcat\b coincide con cat, no con cats

Ejemplos de regex para probar

Detectar la forma básica de un email

Patrón
^[\w.+-]+@[\w-]+\.[\w.-]+$
Texto

learner@coddy.tech

Esto atrapa la forma básica algo@algo.algo. La validación real de emails es bastante más permisiva que esto: en formularios, mejor usa type="email" y una comprobación en el servidor.

Extraer todos los números de una frase

Patrón
\d+
Texto

Lesson 12 has 3 tasks and 2 quizzes.

Con la flag g, encuentra cada secuencia de dígitos: 12, 3, 2. \d+ es el equivalente regex de "uno o más dígitos".

Sacar un id de una URL con un grupo de captura

Patrón
/users/(\d+)
Texto

/users/42/profile

La coincidencia completa es /users/42, y el grupo de captura (\d+) extrae solo 42. Los grupos de captura son la forma de *aprovechar* una coincidencia regex en tu código.

Cuantificadores codiciosos vs perezosos

Codicioso
<.+>
Perezoso
<.+?>
Texto

<b>hello</b>

La versión codiciosa engulle toda la cadena <b>hello</b> porque .+ agarra todo lo que puede. La versión perezosa (+?) se detiene en el primer >, así que coincide solo con <b> y </b>.

Errores comunes con regex

  • Olvidarse de escapar los caracteres especiales: ., ?, +, (, ), [, ], {, }, \, ^, $, |. Cuando los quieras de forma literal, ponles \ delante.
  • Escribir un patrón que funciona con un ejemplo concreto pero falla con datos reales que tienen espacios extra, saltos de línea o campos vacíos.
  • Usar .* de forma codiciosa y acabar capturando muchísimo más de lo que querías — cámbialo por .*? o por una clase de caracteres más específica.

Preguntas frecuentes sobre regex

¿Qué es regex?
Regex es la abreviatura de *regular expression* (expresión regular): un lenguaje compacto para describir patrones de texto. La misma idea existe en casi todos los lenguajes de programación y en muchos editores y herramientas de línea de comandos.
¿Cómo se escribe una regex?
Empieza con los caracteres literales que quieres encontrar y reemplaza las partes variables por clases de caracteres (\d, \w, [abc]) y cuantificadores (*, +, ?, {n,m}). Usa un regex tester para ir iterando hasta que el patrón coincida exactamente con los casos que te interesan.
¿Qué significa \w en regex?
\w coincide con un carácter de palabra: una letra, un dígito o un guion bajo. \W es lo contrario (cualquier carácter que no sea de palabra). El conjunto exacto depende del motor y de si está activa la flag Unicode.
¿Por qué mi regex coincide con demasiado texto?
Los cuantificadores son codiciosos por defecto: .* captura tanto como puede. Cámbialo por uno perezoso (.*?) o usa una clase de caracteres más específica para detenerlo donde tú quieras.
¿El regex de JavaScript es igual al de los demás lenguajes?
Las bases son las mismas, pero los motores cambian. JavaScript, PCRE, re de Python, Java, Go y .NET soportan flags y funciones avanzadas algo distintas (compatibilidad con lookbehind, grupos con nombre, cuantificadores posesivos).
¿Vale la pena aprender regex si soy principiante?
Sí, pero poco a poco. Empieza por literales, clases de caracteres, cuantificadores, anclas, flags y grupos de captura. Deja para después los lookarounds, los grupos con nombre y las regex condicionales.

Más información

Otras herramientas para desarrolladores

Aprende a programar con Coddy

COMENZAR