De lenguaje natural a regex
Las regex se olvidan constantemente. Describe → Ryna AI la escribe, la explica y da casos de prueba.
Try one of these:
Ryna AI Editorial Team · Updated September 1, 2026
Ves el patrón con claridad — «captura los números de teléfono con este formato», «saca las fechas de las líneas de log», «deja pasar solo los correos válidos» —, pero en cuanto llegas a la sintaxis de regex, te atascas. Un cuantificador mal puesto y el patrón no captura nada o lo captura todo; \d y \w se te confunden; acabas bizco en el infierno de las barras invertidas. La regex también tiene un lado serio: en 2019, un único patrón mal escrito dejó a Cloudflare fuera de línea en todo el mundo durante unos 30 minutos por catastrophic backtracking. Un patrón que «parece que funciona» puede bloquear una CPU en producción.
Le describes a Ryna AI en español llano (o en inglés) lo que quieres capturar, indicas tu lenguaje/variante (JavaScript, Python re, PCRE/PHP, .NET, Java, Go RE2, grep/POSIX) y recibes el patrón listo, una explicación token a token, cadenas de prueba que deben coincidir y que NO deben coincidir, y notas sobre casos límite (unicode, cadena vacía, greedy vs lazy, anclas). También funciona al revés: pega una regex críptica y pregunta «¿qué hace esto?», o entrega tu patrón junto con la entrada en la que falla y pregunta «¿por qué revienta?».
Nunca pongas una regex en producción a ciegas: trata el patrón de Ryna como un borrador y pruébalo con ejemplos positivos y negativos de tus propios datos reales. El plan Free te da decenas de mensajes al día: puedes probar y afinar un montón de patrones durante todo el día. Subir un archivo de log real, un CSV o una captura para decir «genera un patrón que capture todos los números de pedido de estos datos», u obtener un análisis ReDoS con pensamiento profundo de un patrón complejo, requiere Plus (399,99 TL/mes).
Why use Ryna AI for this
Salida consciente de la variante: JavaScript, Python re, PCRE/PHP, .NET, Java, Go RE2, grep/POSIX: usa la sintaxis correcta para lookbehind, grupos con nombre y comportamiento unicode.
Explicación token a token: desglosa qué hace cada `\d`, `[^ ]`, `(?:...)`, `{2,4}` para que entiendas el patrón en lugar de memorizarlo.
Conjunto de pruebas automático: genera juntas cadenas de ejemplo que deben coincidir Y que NO deben coincidir, para que detectes el exceso de coincidencias desde el principio.
Cobertura de casos límite: señala la cadena vacía, los caracteres unicode, los saltos de línea, greedy vs lazy y el comportamiento anclado o no anclado.
Aviso de ReDoS: marca los riesgos de catastrophic backtracking, como los cuantificadores anidados (a+)+, y propone un patrón alternativo más seguro.
Funciona en ambos sentidos: genera un patrón a partir de una descripción y explica en lenguaje claro una regex críptica que le pegues, o depura una que está rota.
Example prompts
Click any prompt to load it into the box above and run it right here. Each prompt is tuned for a different scenario — try them all to see how Ryna AI adapts.
How it works — step by step
- 1
Describe qué hay que capturar
En chat.rynaai.com, describe en lenguaje llano qué quieres capturar: «captura los números de factura con este formato» o «deja pasar solo los correos que terminan en .edu». Cuanto más concreto seas, más preciso será el patrón.
- 2
Indica la variante y el objetivo
Qué lenguaje/motor: 'JavaScript', 'Python re', 'PCRE', 'Go RE2', 'grep', porque el lookbehind, los grupos con nombre y el comportamiento unicode de \d cambian según la variante. Di también tu objetivo: ¿validación o extracción dentro de un texto?
- 3
Da ejemplos positivos y negativos
Incluye 3-4 cadenas que deban coincidir Y 3-4 que no: «estas tienen que pasar: ... estas tienen que fallar: ...». Los ejemplos negativos son la señal más potente para evitar el exceso de coincidencias.
- 4
Pide explicación y pruebas
Di «explica el patrón token a token y dame una tabla de pruebas con ejemplos que coinciden y que no». Así ves qué funciona y por qué antes de copiar y pegar, y de paso le sirve de aprendizaje a un desarrollador júnior.
Example: input → output
You ask
JavaScript. Valida un teléfono de EE. UU.: +1 opcional, prefijo con o sin paréntesis, espacios o guiones permitidos. Da ejemplos que deben coincidir y otros que no.
Ryna AI returns
```js /^(?:\+1[ -]?)?\(?\d{3}\)?[ -]?\d{3}[ -]?\d{4}$/ ``` **Desglose de los elementos** - `^ … $` — valida toda la cadena de principio a fin - `(?:\+1[ -]?)?` — prefijo de país +1 opcional con separador - `\(?\d{3}\)?` — prefijo de zona de 3 dígitos, paréntesis opcionales - `[ -]?` — espacio o guion opcional como separador - `\d{3}[ -]?\d{4}` — los 7 dígitos restantes **Tabla de pruebas** | Entrada | Resultado | |---|---| | +1 (415) 555-2671 | coincide | | 415-555-2671 | coincide | | 4155552671 | coincide | | 415-555-267 | no coincide (demasiado corto) | | (415) 55-2671 | no coincide (agrupación incorrecta) | **Notas sobre casos límite:** El patrón valida solo el *formato*, no que el número sea real o esté activo. Como los separadores son laxos, también acepta paréntesis desequilibrados como '415)-555-2671'; si necesitas un formato estricto, exige paréntesis emparejados con un grupo más estricto. No tiene cuantificadores anidados, así que no hay riesgo de ReDoS, y además compila sin problemas en Go RE2.
Pro tips
- Da no solo ejemplos que deben coincidir, sino también los que NO deben coincidir: los negativos son lo que mejor evita que el patrón capture de más.
- Indica siempre el sabor: el lookbehind existe en JS y PCRE, pero no en Go RE2; \d coincide con dígitos Unicode en algunos sabores: di [0-9] si quieres solo ASCII.
- Pide que «use grupos con nombre» para la legibilidad: (?<year>\d{4}) te deja recoger las capturas por nombre en vez de por índice, mucho más mantenible en el código.
- Pregunta: «¿hay riesgo de ReDoS por cuantificadores anidados como (a+)+? Dame una versión segura». En patrones de producción no es negociable.
- Separa validar toda la cadena de buscar dentro de ella: usa los anclajes ^...$ para validar y quítalos para buscar o extraer; si no, rechazarás datos válidos.
- Pide una versión «estricta» y otra «permisiva» del mismo trabajo: una para el formato exacto y otra para capturar los datos desordenados del mundo real.
Common mistakes to avoid
- ✕Pedir un patrón sin indicar el sabor: un patrón con lookbehind que funciona en JS ni siquiera compila en Go RE2.
- ✕Dar solo ejemplos positivos: el patrón coincide con más de lo que pretendías y produce falsos positivos en silencio con datos reales.
- ✕Confundir la regex con la «validez» de un correo: un patrón detecta erratas, pero no puede verificar que el buzón exista; la entregabilidad requiere SMTP/verificación.
- ✕Pasar a producción sin probar con datos reales: «compila» no es lo mismo que «coincide correctamente».
- ✕Copiar a ciegas un patrón con cuantificadores anidados: estructuras como (.*)* son propensas a ReDoS y bloquean la CPU con entradas grandes.
Who this is for
Desarrolladores, analistas de datos, DevOps, cualquiera que analice logs.
FAQ
¿Qué lenguajes y sabores de regex están soportados?
JavaScript, Python re, PCRE/PHP, .NET, Java, Go RE2, Ruby y grep/POSIX. Indica tu sabor desde el principio: RE2 no admite lookaround ni retrorreferencias, y Ryna te avisa y te ofrece una alternativa.
¿La regex valida los correos a la perfección?
No. Un patrón RFC 5322 completo es enorme e impracticable; la regex detecta erratas (falta la @, puntos dobles), pero no puede confirmar que el buzón exista. La entregabilidad real necesita un servicio de verificación/SMTP; Ryna te da un patrón «suficientemente bueno» para el caso.
¿Avisa del backtracking catastrófico o ReDoS?
Sí, basta con pedirlo. Señala los riesgos por cuantificadores anidados y propone una alternativa segura sin backtracking, al estilo RE2. Para patrones complejos, el Deep Thinking de Plus hace un análisis más detallado.
¿Me explica una regex críptica que ya tengo?
Sí, también funciona al revés. Pega el patrón y Ryna te lo explica elemento a elemento en español llano, con ejemplos de lo que captura y los fallos ocultos (ancla equivocada, escape que falta).
¿Puedo subir un log o un CSV para deducir el patrón a partir de los datos?
Sí, pero subir archivos, PDF o capturas es una función de Plus (399,99 TL/mes). En el plan Free pegas líneas de ejemplo como texto; tienes decenas de mensajes al día, así que puedes iterar y afinar todo lo que quieras.
Related use cases
Free — dozens of daily messages
No credit card. Plus at 399.99 TRY/mo unlocks image analysis, file analysis (PDF/Word/Excel), deep thinking, web research, and assistants.