Constructor de regex por ejemplos
Das ejemplos que sí y que no, y devuelve la expresión regular con su explicación.
Cálculo verificadoEl resultado depende sólo de tus datos y de fórmulas comprobadas por las pruebas.
Escribe ejemplos que deben coincidir y ejemplos que no, y devuelve una expresión que acepta todos los primeros y rechaza todos los segundos. Si no logra generalizar, entrega la versión literal, que siempre funciona.
Tus ejemplos
Uno por línea.
^(?:FAC\-202[0-9]\-[0-9][0-9][0-9][0-9])$
ecmascript · 3 aceptados y 4 rechazados, todos comprobados
Probada contra los 3 ejemplos aceptados y los 4 rechazados que diste, y contra nada más. Que funcione con esos no demuestra que funcione con los que no escribiste: si te importa un caso, añádelo como ejemplo y vuelve a generar.
Qué dice, pieza por pieza
- ^empieza aquí: nada puede sobrar por delante
- (?:abre un grupo que no se captura
- Fel carácter «F»
- Ael carácter «A»
- Cel carácter «C»
- \-ese carácter tal cual, sin significado especial
- 2el carácter «2»
- 0el carácter «0»
- 2el carácter «2»
- [0-9]un dígito
- \-ese carácter tal cual, sin significado especial
- [0-9]un dígito
- [0-9]un dígito
- [0-9]un dígito
- [0-9]un dígito
- )cierra el grupo
- $termina aquí: nada puede sobrar por detrás
Los candidatos que se probaron
Aptitud = 1000 × fallos + complejidad. Gana la más baja entre las que no fallan.
| Candidato | Falla | Complejidad | Aptitud |
|---|---|---|---|
| FAC\-2023\-1199|FAC\-2024\-0001|FAC\-2024\-0842Los ejemplos tal cual, escapados y unidos. | 0 | 43 | 43 |
| FAC\-202[0-9]\-[0-9][0-9][0-9][0-9]Todos miden 13; cada posición admite lo que se vio en ella.elegida | 0 | 13 | 13 |
| FAC\-202[\-0123489]{6}Todos empiezan por «FAC-202», y el centro varía. | 0 | 19 | 19 |
| FAC\-[0-9]{4}\-[0-9]{4}Todos se parten en 3 trozos por «-»; cada trozo se generaliza aparte. | 0 | 13 | 13 |
^(?:FAC\-2023\-1199|FAC\-2024\-0001|FAC\-2024\-0842)$
Siempre disponible. Es más larga y no cubre casos nuevos, pero no puede equivocarse con los que ya tienes.
Bitácora
4 decisionesP09-R-003
Alternación exacta: acepta los positivos por construcción.
P09-R-004
Generalizaciones probadas: clase única, clase por posición, prefijo con sufijo y partición por delimitador.
P09-R-009
Menor aptitud entre los 4 candidato(s) sin fallos; a igual aptitud, el que menos generaliza.
P09-R-013
No se afirma cobertura sobre casos que no se aportaron.
motor 1.0.0 · paquete 06cc40e2f262351d…