Crear una expresión regular explicada paso a paso y con casos de prueba

Obtén una regex para tu lenguaje con la explicación de cada parte, una tabla de casos que deben coincidir y que no, código listo para usar y un aviso de riesgos de backtracking. Pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Incluye 5 variables personalizables y se copia gratis en un clic.

Principiante · Código · Pendiente de revisión editorial

Prompt

Actúa como desarrollador experto en expresiones regulares que explica con claridad a quien está aprendiendo.

Necesito una expresión regular para: {{objetivo}}
- Lenguaje o motor: {{lenguaje}}
- Uso: {{uso}}
- Ejemplos que SÍ deben coincidir: {{validos}}
- Ejemplos que NO deben coincidir: {{invalidos}}

Entregables:
1. La expresión regular final, compatible con el motor indicado, con los flags necesarios.
2. Explicación pieza a pieza en una tabla: fragmento, qué significa y por qué está ahí. Incluye anclas, grupos (con nombre si el motor los admite), cuantificadores y clases de caracteres.
3. Una versión legible con comentarios (modo extendido o `x` si el motor lo permite, o construida por partes si no).
4. Tabla de pruebas con todos mis ejemplos y al menos cinco casos límite que añadas tú (vacío, espacios, mayúsculas, caracteres acentuados, longitud extrema), indicando el resultado esperado.
5. Código en mi lenguaje que use la regex para el uso indicado (validar, buscar, extraer o reemplazar) y ejecute la tabla de pruebas.
6. Riesgos: posibles falsos positivos y negativos, problemas con Unicode y riesgo de backtracking catastrófico (ReDoS) si la regex se aplica a texto que introduce el usuario.
7. Cuándo una regex no es la herramienta adecuada para este caso y qué usar en su lugar (por ejemplo, un parser o una librería de validación).

Restricciones:
- Si mis ejemplos son contradictorios o insuficientes, dímelo y pregúntame antes de dar la versión final.
- Prefiere una regex clara y correcta a una muy corta y difícil de mantener.
- No afirmes que la regex valida algo al 100 % (por ejemplo, un email) si el estándar es más complejo.

Cómo usarlo

  1. Explica con palabras qué quieres encontrar o validar.
  2. Da varios ejemplos reales que deban coincidir y otros que no.
  3. Ejecuta el código de pruebas que te devuelve y añade los casos que fallen en tu día a día.

Ejemplo de uso

Objetivo: matrículas españolas del sistema actual (4 números y 3 letras sin vocales) · Lenguaje: Python · Uso: validar un campo completo · Válidos: 1234 BCD, 0000-ZZZ · No válidos: 1234 ABC.

Resultado de ejemplo

1. Expresión final

[0-9]{4}[ -]?[BCDFGHJKLMNPRSTVWXYZ]{3} usada con re.fullmatch (sin flags).

2. Explicación

FragmentoSignificado
[0-9]{4}Cuatro cifras ASCII (\d en Python acepta también cifras Unicode)
[ -]?Espacio o guion opcional
[BCDF…XYZ]{3}Tres consonantes en mayúscula, sin vocales, Ñ ni Q

5. Código y tabla de pruebas

import re

MATRICULA = re.compile(r"[0-9]{4}[ -]?[BCDFGHJKLMNPRSTVWXYZ]{3}")

CASOS = {
    "1234 BCD": True, "0000-ZZZ": True, "9876BCF": True,
    "1234 ABC": False,   # contiene vocal
    "123 BCD": False,    # solo 3 cifras
    "1234 bcd": False,   # minúsculas
    "M-1234-AB": False,  # formato provincial antiguo
    "": False, "1234  BCD": False, "1234 BCÑ": False, "1234 BCDF": False,
}

def es_matricula(texto: str) -> bool:
    return MATRICULA.fullmatch(texto) is not None

for texto, esperado in CASOS.items():
    assert es_matricula(texto) == esperado, texto

fullmatch evita el detalle de que $ en Python también acepta un salto de línea final. La regex no tiene cuantificadores anidados, así que no hay riesgo de ReDoS. Si quieres aceptar minúsculas, normaliza con .upper() antes en lugar de añadir re.IGNORECASE…

Datos clave

Categoría
Programación y desarrollo · Automatizaciones
Tipo de resultado
Código
Nivel
Principiante
Pensado para
ChatGPT, Claude, Gemini y Microsoft Copilot
Verificado en
Pendiente de verificación editorial
Variables
Qué debe encontrar o validar, Lenguaje o motor, Uso, Ejemplos válidos y Ejemplos no válidos
Idioma
Español
Precio
Gratis, sin registro
Actualizado
07/11/2026

Preguntas frecuentes

¿Qué es el backtracking catastrófico?

Ocurre cuando una regex con cuantificadores anidados prueba un número enorme de combinaciones ante ciertos textos y se queda bloqueada. Si la regex procesa datos de usuarios, puede usarse para tumbar un servidor (ReDoS).

¿Funciona la misma regex en todos los lenguajes?

No siempre. Los motores difieren en grupos con nombre, lookbehind, clases Unicode y flags. Por eso el prompt pide el lenguaje y adapta la sintaxis.

¿Para qué sirve este prompt?

Obtén una regex para tu lenguaje con la explicación de cada parte, una tabla de casos que deben coincidir y que no, código listo para usar y un aviso de riesgos de backtracking.

¿Con qué herramientas de IA funciona?

Está pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.

¿Cómo personalizo el prompt?

Pulsa «Personalizar» y rellena las variables (Qué debe encontrar o validar, Lenguaje o motor, Uso, Ejemplos válidos y Ejemplos no válidos). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.

¿Necesito experiencia para usarlo?

No. Es un prompt de nivel principiante: basta con rellenar los datos y pegarlo en tu herramienta de IA.

¿Este prompt es gratis?

Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.

¿Puedo fiarme del resultado de la IA?

Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.

Prompts relacionados