Me gustaría obtener una expresión regular que sea X o Y con caracteres de longitud. Por ejemplo, una cadena que tenga 8 u 11 caracteres de largo. Actualmente lo he implementado así: ^([0-9]{8}|[0-9]{11})$
.Coincidir con la longitud específica x o y
También podría implementar como: ^[0-9]{8}([0-9]{3})?$
Mi pregunta es: ¿Puedo tener esta expresión regular sin duplicar la parte [0-9]
(que es más compleja que esta simple \d
ejemplo)?
Muy bien ... Tendré que aprender más acerca de estos lookaheads :) – Laoujin
Cuidado: Si toma el '^ (? = [0-9] * $) (?:. {8} |. {11}) $ 'versión, podría ser un error para IE5-8 como se explica [aquí] (http://blog.stevenlevithan.com/archives/regex-lookahead-bug). Cambie a la versión alternativa de Tim y funciona para todos los navegadores. – Laoujin
Tenga en cuenta que ambas versiones no son compatibles con el esquema XML debido al grupo que no captura (? :). – user1056903