ИИ-генератор регулярных выражений
Регулярные выражения — один из самых мощных инструментов программиста и одновременно один из самых ненавистных. Строка вида ^(?:([0-9]{1,3}\.){3}[0-9]{1,3})$ читается как заклинание на чужом языке. Наш ИИ-генератор regex решает обе задачи: создаёт выражение по описанию на русском языке и объясняет чужие regex по шагам.
Как работает инструмент
Генератор работает в двух режимах:
1. Сгенерировать regex по описанию
Вы пишете обычным языком, что нужно найти — ИИ генерирует регулярное выражение, объясняет каждый элемент и даёт тестовые примеры. Можно выбрать язык: PHP, JavaScript, Python, Java, Go, Rust или PCRE.
Пример запроса:
Найти все email-адреса в тексте
Ответ ИИ:
Regex: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Разбор:
- [a-zA-Z0-9._%+-]+ — локальная часть (до @): буквы, цифры, точка, подчёркивание, процент, плюс, дефис
- @ — символ-разделитель
- [a-zA-Z0-9.-]+ — домен: буквы, цифры, точка, дефис
- \.[a-zA-Z]{2,} — доменная зона: точка + минимум 2 буквы
Примеры совпадений:
- user@example.com
- john.doe+spam@mail.co.uk
- admin@site.ru
2. Объяснить существующий regex
Вставляете чужое регулярное выражение — ИИ разбирает его по элементам и объясняет, что именно оно делает. Полезно при работе с чужим кодом, ревью или отладке.
Пример запроса:
^(\d{4})-(\d{2})-(\d{2})$
Ответ ИИ:
Это выражение проверяет дату в формате YYYY-MM-DD.
Разбор:
- ^ — начало строки
- (\d{4}) — первая группа: ровно 4 цифры (год)
- - — литеральный дефис
- (\d{2}) — вторая группа: ровно 2 цифры (месяц)
- - — литеральный дефис
- (\d{2}) — третья группа: ровно 2 цифры (день)
- $ — конец строки
Группы захвата:
- $1 — год (4 цифры)
- $2 — месяц (2 цифры)
- $3 — день (2 цифры)
Совпадает: 2024-03-15, 1999-12-31
Не совпадает: 24-3-15, 2024/03/15, 2024-03-15extra
Практические примеры использования
Валидация телефонного номера
Запрос: «Найти российские номера телефонов в форматах +7, 8 и просто 10 цифр»
Regex: (?:\+7|8)?[\s\-]?\(?\d{3}\)?[\s\-]?\d{3}[\s\-]?\d{2}[\s\-]?\d{2}
Совпадает:
- +7 (999) 123-45-67
- 89991234567
- 999-123-45-67
- (495) 1234567
Извлечение URL из текста
Запрос: «Найти все веб-ссылки, начинающиеся с http или https»
Regex: https?://[a-zA-Z0-9.-]+(?:/[a-zA-Z0-9./?=&%#_+-]*)?
Совпадает:
- https://example.com
- http://site.ru/path?param=value
- https://codestack.space/tools/regex
Проверка пароля на сложность
Запрос: «Пароль: минимум 8 символов, хотя бы одна заглавная буква, одна строчная и одна цифра»
Regex: ^(?=.*[a-zа-я])(?=.*[A-ZА-Я])(?=.*\d).{8,}$
Проверяет:
- (?=.*[a-zа-я]) — есть хотя бы одна строчная буква
- (?=.*[A-ZА-Я]) — есть хотя бы одна заглавная буква
- (?=.*\d) — есть хотя бы одна цифра
- .{8,} — длина не менее 8 символов
Подходит: Qwerty123, Пароль1
Не подходит: 12345678, password, PASSWORD1
Поиск IP-адресов
Запрос: «Найти все IPv4-адреса в логах»
Regex: \b(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}\b
Совпадает: 192.168.1.1, 255.255.255.0, 10.0.0.42
Не совпадает: 256.1.1.1, 192.168.1, 1.1.1.1.1
Парсинг CSV-строки
Запрос: «Разбить CSV-строку на поля, учитывая запятые в кавычках»
Regex: (?:"([^"]*)"|([^,]+))(?=,|$)
Разбор:
- "([^"]*)" — поле в кавычках (группа 1 — содержимое без кавычек)
- | — ИЛИ
- ([^,]+) — поле без кавычек (группа 2 — всё до запятой)
- (?=,|$) — впереди запятая или конец строки
Тестирование на реальном тексте
После генерации regex можно сразу проверить — вставьте любой текст в поле «Проверить на тексте», и инструмент подсветит все совпадения прямо в браузере. Никаких внешних сервисов, всё работает моментально.
Пример: сгенерировали regex для email, вставили абзац текста — все адреса в тексте подсветились жёлтым, а ниже появился их список.
Кому полезен инструмент
- Разработчикам — валидация форм, парсинг данных, поиск в логах, рефакторинг конфигов
- SEO-специалистам — массовая обработка URL, фильтры в Google Search Console, парсинг title и meta
- Системным администраторам — grep по логам, фильтрация в nginx/apache, валидация конфигов
- Дата-аналитикам — очистка и нормализация данных, извлечение паттернов из текстовых полей
- Студентам и джунам — понимание чужого кода, изучение regex на живых примерах
Быстрые пресеты
В инструменте есть 6 готовых шаблонов в один клик:
- Email — валидация email-адресов
- URL — извлечение веб-ссылок
- Телефон — российские номера в разных форматах
- IPv4 — IP-адреса версии 4
- Дата — формат YYYY-MM-DD
- Float — числа с плавающей точкой
Нажмите пресет, при желании отредактируйте запрос и нажмите «Сгенерировать». Готовый regex можно скопировать одной кнопкой.
👤 Зарегистрируйтесь, чтобы добавить материал в закладки.
