Estou construindo um padrão regex para identificadores do Android. Os identificadores do Android devem estar no seguinte formato como,
<8 character alphaNumeric>-<4 character alphaNumeric>-<4 character alphaNumeric>-<12 character alphaNumeric>
O ID do android de amostra é,
5f302bf7-97ad-4c24-86f5-823f881d954e
Então, para combinar com o formato acima, meu padrão regex se parece,
"^([A-Fa-f0-9]{8}\" + "-[A-Fa-f0-9]{4}\" + "-[A-Fa-f0-9]{4}\"
Se eu dei um Android inválido, identifico como,
00000000-0000-0000-0000-000000000000
que também corresponde ao padrão regex acima.
Como construir um padrão regex que não corresponde aos identificadores inválidos acima?
Respostas:
0 para resposta № 1Se entendi sua pergunta corretamente, você deseja validar um identificador com as seguintes regras
- Deve permitir apenas caracteres hexadecimais (0-9, a-f e A-F)
- Ele deve ter 28 caracteres e estar separado por traços (-) e da estrutura {8 caracteres} - {4 caracteres} - {4 caracteres} - {12 caracteres}
Regex: ^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$
Fósforos:
FF000000-0000-0000-0000ABCDEF0A
00000000-0000-0000-000000000000
Rejeita:
00000000-0000-0000-0000-000000000000
00000000 0000 0000 0000 000000000000
00000000000000000000000000000000
00000000-0000-0000-00000000000G