Разработчика

Тестер регулярных выражений

Напишите шаблон regex, вставьте тестовый текст и наблюдайте, как каждое совпадение подсвечивается прямо во время набора. Хватит гадать, работает ли ваш шаблон — убедитесь в этом сами.

Этот инструмент вам помог?

Что такое Тестер регулярных выражений?

Тестер регулярных выражений — это важнейший инструмент разработки, который позволяет тестировать регулярные выражения на образцах текста в реальном времени, предоставляя мгновенную визуальную обратную связь о совпадении ваших шаблонов. Регулярные выражения, обычно называемые regex, — это мощные последовательностные шаблоны, используемые для поиска, проверки, извлечения и обработки текста практически на любом языке программирования и в текстовом редакторе.

Когда использовать этот калькулятор

  • Проверка ввода пользователя в веб-формах.
  • Отладка неудачных совпадений.
  • Интерактивное изучение синтаксиса regex.
  • Извлечение данных из текста.
  • Создание шаблонов поиска и замены.
  • Проверка валидации форм.

Шаги:

  1. Введите шаблон регулярного выражения в поле ввода, используя стандартный синтаксис regex — например, \d{3}-\d{4} для сопоставления номеров телефонов или ^[\w.-]+@[\w.-]+\.\w{2,}$ для проверки email
  2. Выберите соответствующие флаги.
  3. Введите или вставьте тестовый текст.
  4. Просмотрите панель результатов.
  5. Используйте панель шпаргалки.

Формула

Шаблон + Флаги → RegExp → Выполнение на тестовом тексте → Массив совпадений Распространённые шаблоны: - \d+ → одна или более цифр - [a-zA-Z]+ → одна или более букв - ^…$ → якоря начала/конца - (…) → группы захвата

Варианты использования

  • Проверка email-адресов, номеров телефонов, URL
  • Извлечение шаблонов из текста (даты, цены, ID)
  • Операции поиска и замены в текстовых редакторах
  • Проверка ввода в веб-формах

Основные преимущества

  • Мгновенное тестирование шаблонов regex с подсветкой в реальном времени
  • Отображение всех совпадений с позициями и группами захвата
  • Поддержка всех стандартных флагов regex
  • Встроенная шпаргалка по regex
  • Полностью работает в браузере
  • Бесплатно без регистрации

Советы профессионалов

  • Всегда тестируйте с совпадающим и несовпадающим текстом.
  • Начинайте с самого простого шаблона.
  • Используйте именованные группы захвата.
  • Помните, что точка (.) по умолчанию не совпадает с новыми строками.
  • Тестируйте граничные случаи.

Распространенные ошибки

  • Забыть экранировать специальные символы.
  • Опустить глобальный флаг (g).
  • Использовать жадные квантификаторы вместо ленивых.
  • Не тестировать граничные случаи.

Объяснение ключевых терминов

Шаблон: Поисковое выражение, написанное синтак {3} {4} сисом regex.
Флаги: Опции, изменяющие поведение.
Совпадение: Успешное вхождение шаблона.
Группа захвата: Часть шаблона в скобках.
Квантификатор: Символ, указывающий с {n} колько раз.

Связанные понятия

  • Регулярное выражение (Regex): Последовательность символов, определяющая шаблон поиска для сопоставления текста.
  • Группа захвата: Часть regex в скобках, извлекающая определённые части совпадения.
  • Квантификатор: Символ, указывающий, сколько раз должен встречаться предшествующий элемент (например, +, *, ?, {n}).
  • Якорь: Утверждение нулевой ширины, соответствующее позиции в тексте, а не символу (^ для начала, $ для конца).
  • Просмотр вперёд/назад (Lookahead/Lookbehind): Утверждения нулевой ширины, проверяющие шаблоны до или после текущей позиции без потребления текста.

Пример

Шаблон: ^[\w.-]+@[\w.-]+\.\w{2,}$ с тестовым текстом: «Свяжитесь с нами по адресу [email protected] или [email protected]» соответствует обоим email-адресам и отображает их в списке результатов.

Интерпретация результатов

Начните с просмотра количества совпадений и выделенного текста. Если вы ожидаете совпадения, но не видите их, проверьте: (1) Установлен ли глобальный флаг (g)? (2) Правильно ли вы экранируете специальные символы? (3) Правильны ли ваши якоря? Панель групп захвата показывает, что захватила каждая скобочная часть вашего шаблона.

Часто задаваемые вопросы

Что такое регулярное выражение?
Regex — это последовательность символов, определяющая шаблон поиска. Используется для сопоставления шаблонов в тексте, например, для поиска email-адресов, проверки ввода или извлечения данных из строк.
Какой движок regex использует этот инструмент?
Этот инструмент использует встроенный движок RegExp в JavaScript, который поддерживает большинство стандартных функций regex, включая группы, просмотр вперёд (lookahead), квантификаторы и классы символов.
Какие бывают распространённые флаги regex?
g (глобальный): находит все совпадения, а не только первое. i (без учёта регистра): игнорирует регистр. m (многострочный): ^ и $ соответствуют границам строк. s (dotall): . также соответствует переносам строк.
Почему мой regex не находит совпадений?
Распространённые проблемы: отсутствие флага g для множественных совпадений, неэкранированные специальные символы (., *, +, ?, [, ], (, )), или неправильное использование квантификаторов.
Что такое регулярное выражение (regex)?
Регулярные выражения (regex) — это шаблоны, используемые для сопоставления комбинаций символов в строках. Это мощные инструменты для поиска, проверки и обработки текста. Regex использует специальные символы, такие как . * + ? ^ $ [] () {} |, для определения шаблонов.
Что означает символ ^ в regex?
В regex ^ имеет два значения: внутри класса символов [^abc] означает 'не' (отрицание). Вне класса символов он привязывает шаблон к началу строки. Например, ^привет соответствует 'привет' только в начале строки.
В чём разница между * и + в regex?
Оба являются квантификаторами: * соответствует нулю или более вхождений (необязательно), а + соответствует одному или более вхождений (обязательно). Так, 'ab*c' соответствует 'ac', 'abc', 'abbc' и т. д., в то время как 'ab+c' соответствует 'abc', 'abbc', но НЕ 'ac'.
Как сопоставить буквальную точку (.) в regex?
Точка (.) — это специальный символ, означающий 'любой символ'. Чтобы сопоставить буквальную точку, экранируйте её обратной косой чертой: \. Например, шаблон www\.example\.com точно соответствует этому URL, а не 'wwwXexampleYcom'.
Что такое группа захвата?
Группы захвата — это части regex, заключённые в круглые скобки (). Они 'захватывают' совпадающий текст для последующего использования. Например, (\d{4})-(\d{2})-(\d{2}) отдельно захватывает год, месяц и день из строки даты, такой как 2024-01-15.
В чём разница между жадным и ленивым сопоставлением?
Жадные квантификаторы (* + ? {}) соответствуют максимально возможному количеству текста. Ленивые квантификаторы (*? +? ?? {}) соответствуют минимально возможному количеству текста. Например, <.*> полностью соответствует '<div>содержимое</div>' (жадный), в то время как <.*?> соответствует отдельно '<div>' и '</div>' (ленивый).
Как проверить email с помощью regex?
Базовый шаблон email: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ Он соответствует большинству допустимых email-адресов, но не охватывает все крайние случаи. Для продакшена рассмотрите специализированную библиотеку проверки email, которая обрабатывает международные домены и специальные символы.

Откройте больше инструментов

Свежая подборка из всей нашей библиотеки инструментов.