Регулярное выражение для украинского автомобильного номера
Помогите составить регулярку для украинского номера. Число должно быть четырехзначным, минимальная цифра 0001, максимальная 9999 Hазрешены 12 букв в латинском алфавите — А, В, С, Е, Н, I, К, М, О, Р, Т, Х.
Например для AA0000AА
Вот что получилось у меня: /^[АВCEHIKMOPTX]\d{2}(?<!0000)[АВCEHIKMOPTX]{2}$/ (Взял регулярку с российского номера, и поменял ее)
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
В вашем регулярном выражении А и Вв символьных классах кириллические, А и В соответственно.
Кроме того, \d{2} находит только две цифры, в номере же их четыре.
Используйте
^[ABCEHIKMOPTX]{2}\d{4}(?<!0{4})[ABCEHIKMOPTX]{2}$
^[ABCEHIKMOPTX]{2}(?!0{4})\d{4}[ABCEHIKMOPTX]{2}$
См. пример работы регулярного выражения. Схема:
Подробности
^- начало строки[ABCEHIKMOPTX]{2}- две латниские буквы из заданного набора(?!0{4})- следующие четыре символа не должны быть0000\d{4}- четыре цифры(?<!0{4})- предыдущие четыре символа не могут быть0000[ABCEHIKMOPTX]{2}- две латниские буквы из заданного набора$- конец строки.
