Регулярное выражение для VIN
Шаблон для 17-символьного VIN (без I, O, Q).
ПресетСтраница примера инструмента
Регулярное выражение для VIN — поля заполнены примером, их можно менять. Настройки уедут в ссылку «Поделиться», а заголовок страницы и вкладки описывают исходный пресет, а не текущие поля.
Об этом примере
VIN — 17-символьный идентификационный номер транспортного средства. Шаблон разрешает буквы A–H, J–N, P, R–Z и цифры, исключая легко путающиеся I, O и Q, и требует ровно 17 знаков. Тест 1HGCM82633A004352 — пример. Пробелы, дефисы и запрещённые буквы отвергаются. Выражение не проверяет контрольную цифру производителя. Пресет помогает валидировать VIN при регистрации, страховании и ввозе автомобиля.
Флаги пишутся подряд, без запятой и без пробелов. Поддерживаются g (все совпадения), i (без учёта регистра), m (^ и $ в каждой строке), s (. включает перевод строки), u (режим Unicode), y (поиск с позиции lastIndex), v (наборы Unicode вместо одиночных классов) и d (индексы начала совпадений). Порядок не важен: «giu» и «ug» — одно и то же.
Объяснение
Начало строки затем один из от 'A' до 'H', от 'J' до 'N', 'P', от 'R' до 'Z', от '0' до '9' (ровно 17 раз) затем конец строки
Диаграмма выражения
Railroad — структура AST: терминалы, ветки и петли. NFA — переходы между состояниями автомата, ε-переходы отмечены пунктиром.
Подсветка токенов
Цвет показывает роль фрагмента: литерал, класс, квантор, группа и т.д.
Live-тест
Готовые регулярки
Каталог регулярок →Найдено: 66 из 66
- Регулярное выражение для email
[^@\s]+@[^@\s]+\.[a-z]{2,} - Регулярное выражение для телефона РФ
^(\+7|8)[\s(-]*\d{3}[\s)-]*\d{3}[\s-]*\d{2}[\s-]*\d{2}$ - Регулярное выражение для URL
^https?://[^\s/$.?#].[^\s]*$ - Регулярное выражение для IPv4
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$ - Регулярное выражение для даты ISO
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ - Регулярное выражение для даты РФ
^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.(\d{4})$ - Регулярное выражение для времени HH:MM
^([01]\d|2[0-3]):[0-5]\d$ - Регулярное выражение для ИНН
^(\d{10}|\d{12})$ - Регулярное выражение для СНИЛС
^\d{3}-\d{3}-\d{3} \d{2}$ - Регулярное выражение для номера карты
^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$ - Регулярное выражение для UUID
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - Регулярное выражение для slug
^[a-z0-9]+(?:-[a-z0-9]+)*$ - Регулярное выражение для HEX-цвета
^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$ - Регулярное выражение для MAC-адреса
^([0-9a-f]{2}[:-]){5}[0-9a-f]{2}$ - Регулярное выражение для IPv6
^(?:[0-9a-f]{4}:){7}[0-9a-f]{4}$ - Регулярное выражение для Base64
^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - Регулярное выражение для semver-версии
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ - Регулярное выражение для времени HH:MM:SS
^([01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?$ - Регулярное выражение для JWT
^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$ - Регулярное выражение для MIME-типа
^[a-zA-Z0-9!#$&\-^_.+]+/[a-zA-Z0-9!#$&\-^_.+]+(?:;\s*[a-zA-Z0-9!#$&\-^_.+]+=(?:"[^"]*"|[^;"]+))*$ - Регулярное выражение для пути файловой системы
^(?:/[\w.\-]+)+/?$|^\.{0,2}(?:/[\w.\-]+)*/?$|^[\w.\-]+(?:/[\w.\-]+)*/?$ - Регулярное выражение для JSON-строки
^"(?:[^"\\\x00-\x1F]|\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4}))*"$ - Регулярное выражение для многострочного комментария
^/\*[\s\S]*?\*/$ - Регулярное выражение для cron-выражения
^\S+\s+\S+\s+\S+\s+\S+\s+\S+$ - Регулярное выражение для маркера SQL-инъекции
\b(?:union\s+select|select\s+.+\s+from|or\s+1\s*=\s*1|and\s+1\s*=\s*1|--|/\*|;\s*drop\s+table|'\s*or\s*') - Регулярное выражение для GUID Microsoft
^\{?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\}?$ - Регулярное выражение для IPv6-CIDR
^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}/(?:\d{1,2}|1[0-1]\d|12[0-8])$ - Регулярное выражение для числа с разделителями
^[+-]?\d{1,3}(?:[,\s]\d{3})+(?:\.\d+)?$|^[+-]?\d+(?:\.\d+)?$ - Регулярное выражение для отрицательного числа
^-[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ - Регулярное выражение для шестнадцатеричной строки
^(?:[0-9a-fA-F]{2}[\s-]?)+[0-9a-fA-F]{2}$|^(?:[0-9a-fA-F]{2})+$ - Регулярное выражение для HTML-тега
^<(\w+)(?:\s+[^>]*)?>.*?<\/\1>$ - Регулярное выражение для HTML-комментария
<!--[\s\S]*?--> - Регулярное выражение для CSS-цвета в hex
#([0-9a-fA-F]{3}){1,2}\b - Регулярное выражение для Markdown-ссылки
\[([^\]]+)\]\(([^)\s]+)(?:\s+"[^"]*")?\) - Регулярное выражение для query-string параметра
[?&]([\w-]+)=([^&]+) - Регулярное выражение для международного телефона
^\+[1-9]\d{6,14}$ - Регулярное выражение для email по RFC 5322 (упрощённое)
^[A-Za-z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$ - Регулярное выражение для IPv4-CIDR
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\/(?:3[0-2]|[12]?\d)$ - Регулярное выражение для полного IPv6
^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$ - Регулярное выражение для доменного имени
^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$ - Регулярное выражение для TCP-порта
^([1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$ - Регулярное выражение для hostname
^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$ - Регулярное выражение для email-заголовка
^[A-Za-z0-9-]+:\s.+$ - Регулярное выражение для UUID v4
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - Регулярное выражение для ISBN-13
^(?:978|979)-\d{1,5}-\d{1,7}-\d{1,7}-\d$ - Регулярное выражение для ORCID
^\d{4}-\d{4}-\d{4}-\d{3}[\dX]$ - Регулярное выражение для IBAN
^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$ - Регулярное выражение для VIN
^[A-HJ-NPR-Z0-9]{17}$ - Регулярное выражение для римского числа
^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ - Регулярное выражение для двоичного числа
^[01]+$ - Регулярное выражение для восьмеричного числа
^0[0-7]+$ - Регулярное выражение для экспоненциальной формы
^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$ - Регулярное выражение для процента
^(?:100(?:\.0+)?|\d{1,2}(?:\.\d+)?|\.\d+|[0-9]\d?(?:\.\d+)?)%$ - Регулярное выражение для номера карты с пробелами
^(?:\d{4}[\s-]?){3}\d{4}$ - Регулярное выражение для SWIFT/BIC
^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$ - Регулярное выражение для биржевого тикера
^[A-Z]{1,5}$ - Регулярное выражение для ISO-кода валюты
^[A-Z]{3}$ - Регулярное выражение для bcrypt-хеша
^\$2[aby]\$\d{2}\$[./A-Za-z0-9]{53}$ - Регулярное выражение для SHA-256
^[a-f0-9]{64}$ - Регулярное выражение для SHA-1
^[a-f0-9]{40}$ - Регулярное выражение для MD5
^[a-f0-9]{32}$ - Регулярное выражение для даты и времени ISO 8601
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})?$ - Регулярное выражение для даты RFC 822
^[A-Za-z]{3}, \d{1,2} [A-Za-z]{3} \d{4} \d{2}:\d{2}:\d{2} [+-]\d{4}$ - Регулярное выражение для Unix timestamp
^\d{10}$ - Регулярное выражение для ISO 8601 duration
^P(?!$)(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(?:\.\d+)?S)?)?$ - Регулярное выражение для ISO-недели
^\d{4}-W(0[1-9]|[1-4]\d|5[0-3])$