Generador de Regex a partir de una muestra

Escribir una regex a mano para algo como un número de pedido, una referencia de factura o una fecha es tedioso y fácil de equivocar. Pega una cadena de ejemplo con el formato que quieres reconocer y esta herramienta la lee de izquierda a derecha, convirtiendo cada secuencia de dígitos, mayúsculas y minúsculas en una clase de caracteres de la longitud adecuada, y dejando la puntuación y los símbolos como caracteres literales. Obtienes un patrón anclado que puedes usar como punto de partida y refinar a mano.

Cómo funciona

  1. 1

    Introduce una muestra

    Escribe o pega una cadena de ejemplo que represente el formato que quieres reconocer, como `Order #12345 placed on 2026-04-16`.

  2. 2

    Genera el patrón

    La herramienta recorre la muestra carácter a carácter y reemplaza cada secuencia del mismo tipo de carácter por una clase de caracteres con su longitud.

  3. 3

    Lee el desglose

    Debajo del patrón, una lista de componentes explica cada pieza, para que veas qué parte reconoció dígitos, letras o texto literal.

  4. 4

    Copia y refina

    Usa el patrón como punto de partida. Ajusta a mano las longitudes fijas o las clases para que se adapte a todo el rango de tus datos reales.

Cómo se construye el patrón

La herramienta lee la muestra de izquierda a derecha. Cada vez que encuentra una secuencia del mismo tipo de carácter, emite una clase de caracteres del tamaño de esa secuencia:

  • una secuencia de dígitos se convierte en \d{n}, donde n es cuántos dígitos hay
  • una secuencia de mayúsculas A-Z se convierte en [A-Z]{n}
  • una secuencia de minúsculas a-z se convierte en [a-z]{n}
  • un único espacio se convierte en \s, y varios espacios en \s{n}
  • cualquier otra cosa (puntuación, símbolos, letras acentuadas o no latinas) se conserva como carácter literal escapado

El patrón final se envuelve entre ^ y $ para que reconozca toda la cadena de principio a fin, y no solo un fragmento.

Ejemplo

Para la muestra Order #12345 placed on 2026-04-16, la herramienta produce:

/^[A-Z]{1}[a-z]{4}\s\#\d{5}\s[a-z]{6}\s[a-z]{2}\s\d{4}\-\d{2}\-\d{2}$/

Order es una mayúscula seguida de cuatro minúsculas; 12345 se convierte en \d{5}; y la fecha 2026-04-16 se convierte en \d{4}\-\d{2}\-\d{2}.

Lo que hace y lo que no hace

  • Las longitudes son fijas. 12345 se convierte en \d{5}, que reconoce exactamente cinco dígitos, no “uno o más”. Si la cantidad varía en tus datos, cambia {5} por + o un rango como {3,8} a mano.
  • Trabaja con una sola muestra. Refleja la estructura de la única cadena que le das, así que no puede generalizar entre varios ejemplos por sí sola. Dale la cadena más representativa.
  • Solo A-Z y a-z cuentan como letras. Los caracteres acentuados y no latinos se conservan como literales, así que sustitúyelos por una clase como \w o \p{L} si quieres que reconozcan un conjunto más amplio.
  • Una regex no puede expresarlo todo. Cosas como los paréntesis balanceados quedan fuera del alcance de cualquier regex, por muchas muestras que le des. Para estructuras anidadas necesitas un parser, no un patrón.

Un buen flujo de trabajo

  1. Genera un patrón a partir de una muestra clara y representativa.
  2. Relaja las longitudes fijas ({5} pasa a + o {3,8}) allí donde la longitud varíe.
  3. Pega el patrón en el Probador de Regex con un conjunto mayor de cadenas reales.
  4. Ajústalo hasta que reconozca todo lo que debe y nada de lo que no debe.

Preguntas frecuentes

Una. El generador lee una única cadena de ejemplo y refleja su estructura. Elige la cadena que mejor represente tu formato y luego amplía el patrón a mano para los demás casos.

La herramienta cuenta los caracteres exactos de tu muestra, así que cinco dígitos se convierten en \d{5}. Si la cantidad varía en los datos reales, reemplaza {5} por +, * o un rango como {3,8}.

Los anclajes hacen que el patrón reconozca toda la cadena de principio a fin. Quítalos si quieres buscar el patrón dentro de un texto más largo.

Reconoce A-Z y a-z como letras. Cualquier otro carácter, incluidas letras acentuadas, cirílicas o CJK, se conserva como literal. Cámbialo a mano por una clase como \w o \p{L} si quieres que reconozca más.

Sintaxis estándar (\d, [A-Z], {n}) que funciona sin cambios en PCRE, JavaScript, Python y la mayoría de los motores.

Herramientas relacionadas

Herramienta disponible en otros idiomas