Тестер Regex
Тестируйте регулярные выражения
Как использовать Тестер Regex
Тестируйте регулярные выражения Бесплатный онлайн-инструмент, без регистрации, без навязчивой рекламы. Используйте прямо сейчас.
Где используются регулярные выражения?
Регулярные выражения (regex) — шаблоны для сопоставления текста. Владение ими существенно повышает продуктивность разработчика: 50 строк кода для работы со строками заменяет одно грамотно составленное регулярное выражение.
- Валидация ввода: Валидируйте email, российские номера телефонов (формат +7 XXX XXX-XX-XX), ИНН, СНИЛС, ОГРН, паспортные данные и другие форматы, специфичные для России.
- Извлечение данных: Извлекайте конкретные паттерны из текста — все URL в документе, все даты в логах, все суммы в рублях в финансовом отчёте (формат 1 234 567,00 ₽).
- Расширенный поиск и замена: Конвертируйте даты из «10.04.2025» в «2025-04-10» (ISO 8601), анонимизируйте персональные данные, нормализуйте пробелы.
- Парсинг логов: Парсите логи Apache, Nginx, приложений. Извлекайте IP-адреса, HTTP-коды ответа, временны́е метки — основа мониторинга и алертинга.
- Рефакторинг кода: Найдите все вызовы функций с определённой сигнатурой, выявите использование устаревшего API, найдите комментарии TODO/FIXME в кодовой базе.
Полезные паттерны для России: Телефон: ^(\+7|8)\s?\(?\d{3}\)?\s?\d{3}[\s-]?\d{2}[\s-]?\d{2}$. ИНН (10 цифр): ^\d{10}$. СНИЛС: ^\d{3}-\d{3}-\d{3}\s\d{2}$. Email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}.
Что означают флаги g, i, m, s?
g (global): найти все совпадения, а не только первое. i (case-insensitive): без учёта регистра. m (multiline): ^ и $ соответствуют началу/концу каждой строки. s (dotAll): точка (.) совпадает и с символом новой строки. Флаги можно комбинировать.
Чем отличается жадный и ленивый поиск?
Жадные квантификаторы (+, *, {n,}) захватывают как можно больше. <.+> совпадёт со всем 'текст' как одно совпадение. Ленивые (+?, *?, {n,}?) захватывают как можно меньше. <.+?> совпадёт с '' и '' отдельно. Для извлечения отдельных HTML-тегов используйте ленивый поиск.
Чем отличается захватывающая и незахватывающая группа?
(паттерн) — захватывающая группа: совпавший текст сохраняется и доступен как $1, $2 в замене. (?:паттерн) — незахватывающая: группирует паттерн для квантификаторов или чередования, не сохраняя совпадение. Используйте незахватывающую, если ссылка на значение не нужна.
Что такое lookahead и lookbehind?
Lookahead (?=паттерн) проверяет, что следует дальше, не потребляя символы. Lookbehind (?<=паттерн) проверяет, что стоит перед. Отрицательные варианты: (?!паттерн) и (?
Почему regex работает в JavaScript, но не в Python?
Диалекты regex немного различаются по языкам. Python использует \A и \Z для начала/конца строки. Raw-строки Python (r'паттерн') избегают двойного экранирования обратного слеша. Старые движки JavaScript могут не поддерживать lookbehind. Всегда тестируйте regex в целевой языковой среде.
Регулярные выражения vs строковые методы vs парсеры vs AI
Регулярные выражения — лучший выбор для сопоставления и извлечения по паттернам. Мощные, но непростые для неопытных. Строковые методы (split, indexOf, slice) понятнее для простых операций. Специализированные парсеры (HTML, JSON, CSV) всегда предпочтительнее regex для структурированных форматов — не разбирайте HTML регулярками. AI-анализ — для неоднозначного естественного языка. Используйте простейший инструмент, который безопасно решает задачу.