инструмент для разработчиков / 20

Объяснение токенов и анализатор регулярных выражений

Разберите регулярные выражения JavaScript с понятными пояснениями групп захвата, классов символов и квантификаторов.

Объяснение токенов и анализатор регулярных выражений: TOEA разбирает шаблоны регулярных выражений на отдельные токены AST и создаёт понятные описания для каждого компонента. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию
Объяснение токенов регулярного выражения и анализатор шаблоновЛокальная обработка

Полностью работает в браузере

Объяснение токенов шаблона

ТокенКатегорияОбъяснение
/iФлаги регулярного выраженияВключённые флаги: сопоставление без учёта регистра.
^ЯкорьСоответствует началу строки или линии.
(ГруппаНачинает захватывающую группу №1.
[a-z0-9_\.-]Класс символовСоответствует любому одному символу из набора символов [a-z0-9_\.-].
+КвантификаторСоответствует 1 или более экземплярам предыдущего токена (жадный режим).
)ГруппаЗавершает захватывающую или незахватывающую группу.
@ЛитералСоответствует литеральному символу «@».
(ГруппаНачинает захватывающую группу №2.
[\da-z\.-]Класс символовСоответствует любому одному символу из набора символов [\da-z\.-].
+КвантификаторСоответствует 1 или более экземплярам предыдущего токена (жадный режим).
)ГруппаЗавершает захватывающую или незахватывающую группу.
\.Класс символов / экранированиеЭкранированный символ «.»
(ГруппаНачинает захватывающую группу №3.
[a-z\.]Класс символовСоответствует любому одному символу из набора символов [a-z\.].
{2,6}Диапазон квантификатораСоответствует указанному диапазону количества повторений {2,6}.
)ГруппаЗавершает захватывающую или незахватывающую группу.
$ЯкорьСоответствует концу строки или линии.

Многочисленные роли вопросительного знака

Значение ? зависит от его положения. После символа или группы он делает их необязательными: colou?r. После другого квантификатора он делает этот квантификатор ленивым, то есть выбирающим как можно меньше: <.+?> останавливается на первом >, а <.+> доходит до последнего в строке. В начале группы он вводит специальный синтаксис: (?:…) группирует без захвата, (?=…) и (?!…) выполняют просмотр вперёд, а (?<name>…) задаёт имя группы. Всегда рассматривайте ? вместе с тем, что стоит непосредственно перед ним.

Сокращённые классы работают только с ASCII

В JavaScript \d соответствует только 0–9, а \w — только нелатинским буквам без диакритики, цифрам и символу подчёркивания. Поэтому \w+ находит caf в café, а \b считает букву с диакритикой границей слова. Для текста на других языках используйте класс свойств Unicode, например [\p{L}\p{N}_]+ с флагом u. Проверьте исправленный шаблон на реальном примере в тестере регулярных выражений.

Экранирование в шаблонах и строках

Четырнадцать символов имеют специальное значение и требуют обратной косой черты для буквального сопоставления: . * + ? ^ $ { } ( ) | [ ] \, а также / внутри литерала /…/. Шаблону, созданному из строки с помощью new RegExp, каждую обратную косую черту нужно удваивать, поэтому \d+ превращается в "\\d+". Если шаблон работает как литерал, но не работает из строки, обычно при преобразовании была потеряна обратная косая черта.

Как пользоваться

  1. Введите или вставьте регулярное выражение JavaScript (например, /^[a-z0-9]+$/i).
  2. Нажмите «Объяснить Regex».
  3. Просмотрите таблицу с разбором якорей, классов символов, групп и флагов.

Конфиденциальность и ограничения

Разбор и объяснение регулярных выражений полностью выполняются в вашем браузере.

Похожие инструменты

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

Какие возможности регулярных выражений объясняются?

Инструмент объясняет якоря (^, $), классы символов (d, w, s, [a-z]), квантификаторы (*, +, ?, {m,n}), группы захвата и флаги.

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

Да, синтаксические ошибки обнаруживаются и сообщаются сразу.

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен