инструмент для разработчиков / 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+". Если шаблон работает как литерал, но не работает из строки, обычно при преобразовании была потеряна обратная косая черта.
Как пользоваться
- Введите или вставьте регулярное выражение JavaScript (например, /^[a-z0-9]+$/i).
- Нажмите «Объяснить Regex».
- Просмотрите таблицу с разбором якорей, классов символов, групп и флагов.
Конфиденциальность и ограничения
Разбор и объяснение регулярных выражений полностью выполняются в вашем браузере.
Похожие инструменты
Часто задаваемые вопросы
Какие возможности регулярных выражений объясняются?
Инструмент объясняет якоря (^, $), классы символов (d, w, s, [a-z]), квантификаторы (*, +, ?, {m,n}), группы захвата и флаги.
Проверяет ли инструмент синтаксис регулярных выражений?
Да, синтаксические ошибки обнаруживаются и сообщаются сразу.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен