Buduję wzorzec wyrażeń regularnych dla identyfikatorów Androida. Identyfikatory Androida powinny mieć następujący format:
<8 character alphaNumeric>-<4 character alphaNumeric>-<4 character alphaNumeric>-<12 character alphaNumeric>
Przykładowy identyfikator Androida to,
5f302bf7-97ad-4c24-86f5-823f881d954e
Tak więc, aby dopasować powyższy format, mój wzorzec wyrażeń regularnych wygląda jak
"^([A-Fa-f0-9]{8}\" + "-[A-Fa-f0-9]{4}\" + "-[A-Fa-f0-9]{4}\"
Jeśli podałem nieprawidłowego Androida, identyfikuje się jako,
00000000-0000-0000-0000-000000000000
który również pasuje do powyższego wzorca wyrażenia regularnego.
Jak skonstruować wzorzec wyrażeń regularnych, który nie pasuje do powyższych nieprawidłowych identyfikatorów?
Odpowiedzi:
0 dla odpowiedzi № 1Jeśli poprawnie zrozumiałem twoje pytanie, chcesz zweryfikować identyfikator, który ma następujące zasady
- Powinien zezwalać tylko na znaki szesnastkowe (0-9, a-f i A-F)
- Powinien mieć długość 28 znaków i być rozdzielony myślnikami (-) oraz struktury {8 znaków} - {4 znaki} - {4 znaki} - {12 znaków}
Regex: ^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$
Mecze:
FF000000-0000-0000-0000ABCDEF0A
00000000-0000-0000-000000000000
Odrzuca:
00000000-0000-0000-0000-000000000000
00000000 0000 0000 0000 000000000000
00000000000000000000000000000000
00000000-0000-0000-00000000000G