◯ Gratis: 5 usos/día • Se restablece en 17h 10m
Desarrollo & Técnico

Generador de expresiones regulares

Convierte una descripción en inglés sencillo en una expresión regular funcional para JavaScript, Python, PCRE, Go, Java o .NET — con una explicación token a token, casos de prueba y los casos límite que el patrón coincide o no de forma deliberada.

Aprender más

El Generador de expresiones regulares crea una expresión regular a partir de una descripción de lo que debe coincidir, en el dialecto que realmente utilizas — JavaScript, Python, PCRE, RE2 de Go, Java o .NET — y luego lo valida: cada token se explica, tus ejemplos de cadenas que deben y no deben coincidir se verifican, y el patrón incluye casos de prueba adicionales, un fragmento de uso en tu lenguaje y una nota sobre los casos límite que excluye deliberadamente. También te indica cuándo un requisito no puede cumplirse en tu dialecto, como look‑behind en Go, en lugar de generar silenciosamente un patrón que no compilaría.

0 / 3000
0 / 10000
0 / 10000

✓ Gratis — sin registro y sin tarjeta de crédito.

Desarrolladores

Solo direcciones de correo electrónico de la empresa

Validación de registro que rechaza dominios de correo web gratuitos

Ver vista previa de entrada y salida

Entrada

¿Qué debe coincidir el patrón?
Email addresses on the company domains acme.com and acme.co.uk, case-insensitive. Reject everything else, including gmail and addresses with nothing before the @.
Dialecto de expresión regular
JavaScript / TypeScript
Ejemplos que deben coincidir (uno por línea)
[email protected] [email protected]
Ejemplos que no deben coincidir (uno por línea)
[email protected] @acme.com
Rigor
Práctico (legible, cubre casos comunes)

Salida (extracto)

```javascript
/^[a-z0-9._%+-]+@acme\.(?:com|co\.uk)$/i
```

**Flags:** `i` — dominios y partes locales se comparan sin distinguir mayúsculas y minúsculas.

| Token | Significado |
|---|---|
| `^` … `$` | toda la cadena debe ser la dirección |
| `[a-z0-9._%+-]+` | parte local: una o más letras, dígitos o la puntuación común |
| `@acme\.` | literal @acme. — el punto está escapado |
| `(?:com\|co\.uk)` | exactamente uno de los dos dominios de la empresa |

| Entrada | Esperado | Por qué |
|---|---|---|
| `[email protected]` | coincide | parte local simple, dominio permitido |
| `[email protected]` | coincide | punto en la parte local, segundo dominio |
| `[email protected]` | no coincide | dominio no está en la lista |
| `@acme.com` | no coincide | parte local vacía |
| `[email protected]` | no coincide | anclado, no puede haber nada después |…
Todos los públicos

Fechas de calendario ISO 8601

Extraer fechas de líneas de registro antes de analizarlas

Ver vista previa de entrada y salida

Entrada

¿Qué debe coincidir el patrón?
ISO calendar dates like 2026-09-20 anywhere inside a line of text. Month 01-12, day 01-31. Do not match 2026-13-01 or 26-09-20.
Dialecto de expresión regular
Python (re)
Ejemplos que deben coincidir (uno por línea)
deployed 2026-09-20 at 05:01 2024-02-29
Ejemplos que no deben coincidir (uno por línea)
2026-13-01 26-09-20
Rigor
Estricto (rechaza todo lo inválido)

Salida (extracto)

```python
r"(?<!\d)(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(?!\d)"
```

**Flags:** ninguno. El patrón no está anclado porque la fecha está dentro de una línea.

| Token | Significado |
|---|---|
| `(?<!\d)` | no precedido por un dígito — rechaza `12026-09-20` |
| `(\d{4})` | año de cuatro dígitos, capturado |
| `(0[1-9]\|1[0-2])` | mes 01-12 |
| `(0[1-9]\|[12]\d\|3[01])` | día 01-31 |
| `(?!\d)` | no seguido por un dígito |

**Casos límite:** el patrón no conoce la longitud de los meses — `2026-02-31` coincide. Valide con `datetime.date.fromisoformat()` después de extraer, como muestra el fragmento de uso…

Tus resultados de Generador de expresiones regulares aparecerán aquí

Espera bloques de código limpios con comentarios, además de una breve explicación de los cambios.

Cómo usar Generador de expresiones regulares

  1. Describe lo que el patrón debe coincidir en lenguaje sencillo, incluyendo lo que debe rechazar — 'direcciones de correo corporativas, no webmail gratuito' es mejor que 'correos'.
  2. Elige el dialecto en el que lo ejecutarás. Go, JavaScript, Python, Java, .NET y PCRE difieren en el soporte de look‑around, manejo de Unicode y escape.
  3. Pega algunas cadenas que deben coincidir y algunas que no deben, una por línea. El patrón se verifica contra cada una de ellas.
  4. Elige el rigor: 'Práctico' para patrones legibles que cubren entradas normales, 'Estricto' para validación, 'Laxo' cuando capturas de forma amplia y filtras después.

Casos de uso

1

Validar la entrada de formularios como códigos postales, matrículas o formatos de ID internos

2

Extraer fechas, números de factura o referencias de pedido de líneas de registro y correos electrónicos

3

Crear una búsqueda y reemplazo para una limpieza masiva en un editor o un script de migración

4

Explicar un patrón heredado que un colega dejó en la base de código pegándolo como descripción

5

Convertir un patrón de un dialecto a otro al mover un script de Python a Go

Consejos para los mejores resultados

  • Proporcione ejemplos que no deben coincidir — hacen más para afinar un patrón que los ejemplos que sí deben coincidir.
  • Si lo necesita dentro de una cadena de lenguaje, solicite esa variante: el escape forma parte de la respuesta.
  • Para la validación dirigida al usuario, elija 'Strict' y lea la sección de casos límite antes de lanzar.
  • Un patrón con repetición anidada sobre datos no confiables puede colgar su servidor; la salida le advierte cuando existe ese riesgo.

Preguntas frecuentes

¿Qué variantes de regex son compatibles?

JavaScript y TypeScript, el módulo re de Python, PCRE (PHP, Ruby, Perl), el motor RE2 de Go, Java y .NET. El patrón se escribe como un literal en el lenguaje elegido, con el escape que ese lenguaje requiera.

¿Prueba el patrón?

Cada ejemplo que proporcione se lista en una tabla de pruebas con el resultado esperado y la razón. La herramienta también añade casos límite — entrada vacía, espacios en blanco, coincidencias aproximadas — para que pueda ver lo que podría pasar desapercibido.

¿Por qué indica que mi requisito es imposible en Go?

El motor RE2 de Go garantiza coincidencias en tiempo lineal y, por tanto, no tiene look-ahead, look-behind ni retroreferencias. Cuando la descripción necesita alguna de esas, la herramienta lo indica y ofrece el patrón más cercano que RE2 pueda compilar, normalmente con una pequeña comprobación en el código.

¿Cuál es la diferencia entre Practical, Strict y Lenient?

Los patrones Practical son legibles y cubren las entradas que realmente ve. Los patrones Strict rechazan cualquier cadena que no sea válida, a costa de longitud y legibilidad — úselos para validación. Los patrones Lenient capturan de forma amplia para que pueda filtrar después en el código — úselos para extracción de texto desordenado.

¿Puede explicar una expresión regular que ya tengo?

Sí. Pegue el patrón existente en la descripción con 'explain this' y la salida lo recorre token a token, enumera lo que coincide y señala cualquier riesgo de retroceso catastrófico.

🔒
Tu privacidad está protegida

Conservamos tu entrada y el resultado durante un máximo de 90 días para prestar el servicio, evitar abusos y, si has iniciado sesión, mostrarte tu historial. Los procesan los proveedores de IA indicados en nuestra Política de privacidad. No los vendemos.

Herramientas relacionadas

Probar este agente

Agente de Automatización de APIDescribe una automatización en inglés sencillo → receta REST/webhook → ejemplos curl + Python + Node…Probar este agente →

Flujo relacionado

Crea una identidad de marcaDel concepto a un sistema visual coherenteEjecutar flujo →

Leer más