Generador de código regex

Elige el lenguaje e introduce el patrón. El generador crea el código envolvente; comprueba que el motor elegido admita la sintaxis regex.

Se ejecuta localmente en tu navegador

Cómo convertir un patrón regex en un ejemplo de código ejecutable

Escribe una expresión regular, elige uno de los siete lenguajes de destino y pulsa Generar código. El panel devuelve un programa corto que compila el patrón con la API de expresiones regulares de ese lenguaje y lo prueba contra una cadena de ejemplo.

El fragmento se arma en la página: al generar los ejemplos no se envió ninguna petición de red durante las pruebas, así que el patrón no sale del navegador y la herramienta sigue funcionando cuando se corta la conexión.

  1. Escribe o pega el patrón en el campo, por ejemplo \d{6}, o parte de uno de los once Patrones rápidos: correo electrónico, URL HTTP, dirección IPv4, UUID, fecha ISO, hora de 24 horas, color hexadecimal, entero, número decimal, slug de URL y versión semántica. Un patrón rápido solo rellena el campo; nada se ejecuta hasta que pulses el botón.
  2. Elige el lenguaje de destino: JavaScript, PHP, Go, Java, Ruby, Python o C#.
  3. Pulsa Generar código. El ejemplo aparece en el panel inferior; Copiar lleva el fragmento visible al portapapeles y Limpiar vacía el campo y el panel.

Qué contiene el ejemplo generado

Qué genera cada destino

JavaScript: new RegExp("…") más pattern.test(text). PHP: preg_match('~…~', $text, $matches) con un var_dump del resultado, y el delimitador ~ escapado dentro del patrón para que una tilde literal conserve su significado. Go: regexp.Compile con MatchString y el error de compilación por panic. Java: Pattern.compile y matcher(text).find(). Ruby: Regexp.new('…') y match?. Python: re.compile, search y bool(). C#: una cadena literal @"…" con Regex.IsMatch(text, pattern).

Todos los ejemplos guardan el texto de prueba en una variable llamada text ($text en PHP) con una cadena vacía, y el patrón se escapa para el literal de cadena de ese lenguaje (barras invertidas, la comilla correspondiente y \r o \n cuando el lenguaje los necesita), de modo que patrones como say "hi", a\~b o a~b llegan al motor de destino sin cambios. Cada fragmento se ejecutó con entradas que coinciden y que no coinciden en esos casos y devolvió el resultado esperado.

Revisa antes de pegar el fragmento en tu proyecto

Los ejemplos prueban una cadena vacía, así que casi todos imprimen un resultado negativo hasta que sustituyas text por tu propia entrada. No se valida nada: un patrón que no compila —una barra invertida suelta, un grupo sin cerrar— se copia tal como lo escribiste y falla en el lenguaje de destino, y los modificadores escritos dentro del patrón (/abc/i) quedan como texto literal en lugar de convertirse en las opciones propias de ese lenguaje.

PHP funciona sobre PCRE con el delimitador ~, y PCRE no tiene el escape \uXXXX: para un carácter como é usa \x{00E9} con un patrón /u. Go compila con regexp, que rechaza lookaround y referencias inversas, así que el programa generado entra en pánico con patrones que JavaScript o Python sí aceptan.

El mismo patrón no significa lo mismo en todas partes

La herramienta copia el texto del patrón; no lo traduce entre motores. Medido con el mismo patrón en tres motores: ^b coincide dentro de "a\nb" en Ruby, donde ^ y $ se anclan a las líneas, y no coincide en JavaScript, Python ni PHP. \d coincide con el dígito árabe-índico ٣ en Python, y en PHP solo con el modificador /u, mientras que Ruby y JavaScript limitan \d a los dígitos ASCII 0–9. Prueba el patrón en el lenguaje de destino antes de publicarlo.

Herramientas recientes: