Регулярное выражение для hostname
Шаблон для имени хоста из меток 1-63 символов, разделённых точками.
ПресетСтраница примера инструмента
Регулярное выражение для hostname — поля заполнены примером, их можно менять. Настройки уедут в ссылку «Поделиться», а заголовок страницы и вкладки описывают исходный пресет, а не текущие поля.
Об этом примере
Имя хоста по RFC 1123 — метки из букв, цифр и дефисов длиной 1–63, разделённые точками, с буквенной зоной на конце. Шаблон требует, чтобы метки не начинались и не заканчивались дефисом. Тест api.example.com — типичный пример. Подчёркивания и ведущие дефисы отвергаются. Выражение не резолвит имя. Используйте пресет для проверки имён серверов в конфигах, оркестрации и inventory, где важен синтаксис по стандарту.
Флаги пишутся подряд, без запятой и без пробелов. Поддерживаются g (все совпадения), i (без учёта регистра), m (^ и $ в каждой строке), s (. включает перевод строки), u (режим Unicode), y (поиск с позиции lastIndex), v (наборы Unicode вместо одиночных классов) и d (индексы начала совпадений). Порядок не важен: «giu» и «ug» — одно и то же.
Объяснение
Начало строки затем один из от 'a' до 'z', от 'A' до 'Z', от '0' до '9' затем один из от 'a' до 'z', от 'A' до 'Z', от '0' до '9', '-' (от 0 до 61 раз) затем один из от 'a' до 'z', от 'A' до 'Z', от '0' до '9' (необязательно) затем '.' (один или более раз) затем один из от 'a' до 'z', от 'A' до 'Z' (от 2 до 63 раз) затем конец строки
Диаграмма выражения
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])$