Что делает инструмент
Тестер регулярных выражений позволяет написать регулярное выражение и прямо по мере ввода видеть, что именно оно находит в тексте примера. Совпадения подсвечиваются на месте, каждая группа захвата выводится со своим значением и позицией, а необязательный шаблон замены показывает, что вернул бы String.replace.
Как пользоваться
- Вставьте текст для поиска в поле Тестовая строка или нажмите Пример.
- Введите шаблон в поле Регулярное выражение на панели параметров. Окружающие косые черты добавлять не нужно.
- Включите нужные флаги: g — все совпадения, i — без учёта регистра, m —
^и$для каждой строки, s — чтобы.совпадала и с переводом строки, u — полная поддержка Unicode. - Изучите результат: число совпадений, подсвеченный текст и таблицу с каждым совпадением и его группами. Нажмите Копировать, чтобы скопировать любое значение.
- Чтобы проверить подстановку, заполните Заменить на, например
$2, $1.
Пример
Шаблон по умолчанию ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+) находит адреса электронной почты и отдельно захватывает имя пользователя и домен. С заменой $1 at $2 текст hello@example.com превращается в hello at example.com.
Краткая справка
\dцифра,\wсимвол слова,\sпробельный символ,.любой символ*ноль или больше,+один или больше,?необязательно,{2,5}от 2 до 5[abc]один из,[^abc]ни один из,a|bодно из двух(...)группа захвата,(?<name>...)именованная группа,(?:...)группа без захвата(?=...)опережающая проверка,(?<=...)ретроспективная проверка,\bграница слова
Частые вопросы
› Какой диалект регулярных выражений используется?
Движок JavaScript (ECMAScript), встроенный в ваш браузер, — тот же, что используют Node.js, Deno и все браузеры. Большая часть синтаксиса совпадает с PCRE, Python и Java, но некоторые возможности, например захватывающие квантификаторы и рекурсия, не поддерживаются.
› Почему мой шаблон находит только одно совпадение?
Включите флаг «Глобально (g)». Без него JavaScript останавливается после первого совпадения.
› Как сослаться на группы в строке замены?
Используйте $1, $2… для нумерованных групп, $<name> для именованных, $& для всего совпадения и $$ для буквального знака доллара.
› Почему ^ и $ не совпадают в начале и конце каждой строки?
По умолчанию они совпадают только в начале и конце всего текста. Включите «Многострочный (m)», чтобы они срабатывали на переносах строк.
› Отправляется ли мой текст куда-нибудь?
Нет. Поиск совпадений выполняется в браузере. Очень медленные шаблоны (катастрофический возврат) могут подвесить вкладку, поэтому избегайте вложенных квантификаторов вроде (a+)+ на длинных входных данных.