Как пользоваться
- Введите шаблон между косыми чертами или начните с одного из типовых шаблонов.
- Переключайте флаги — g, i, m, s, u, y, — чтобы изменить поведение поиска.
- Вставьте тестовый текст. Совпадения подсвечиваются и выводятся списком с позицией и группами.
- Введите строку замены, например $1 или $<name>, чтобы увидеть результат поиска с заменой.
Описание параметров
- g (глобальный)
- Находит все совпадения, а не останавливается на первом. Список совпадений всегда показывает все; флаг g влияет на замену.
- i (без учёта регистра)
- Буквы совпадают независимо от регистра.
- m (многострочный)
- ^ и $ совпадают с началом и концом каждой строки, а не всего текста.
- s (dotAll)
- Точка . совпадает также с переводами строк.
- u (unicode)
- Трактует шаблон как кодовые точки Unicode, что включает экранирование свойств \p{…} и корректную обработку эмодзи.
- y (липкий)
- Совпадает только точно в той позиции, где закончилось предыдущее совпадение.
Краткая шпаргалка
| Синтаксис | Что означает |
|---|---|
\d \w \s |
Цифра, символ слова, пробельный символ |
[abc] [^abc] [a-z] |
Один из, ни один из, диапазон |
* + ? {2,5} |
0+, 1+, 0 или 1, от 2 до 5 |
*? +? |
Ленивые — как можно меньше |
^ $ \b |
Начало, конец, граница слова |
(…) (?:…) (?<name>…) |
Захватывающая, незахватывающая, именованная группа |
(?=…) (?!…) (?<=…) (?<!…) |
Позитивная и негативная опережающая проверка, позитивная и негативная ретроспективная проверка |
\p{L} \p{Script=Han} |
Любая буква, китайские иероглифы (с флагом u) |
Пример
Шаблон (?<user>[\w.+-]+)@(?<domain>[\w-]+(?:\.[\w-]+)+) на строке ada@example.com даёт user = ada и domain = example.com; замена $<domain>/$<user> даёт example.com/ada.
Часто задаваемые вопросы
Какой диалект регулярных выражений используется?
JavaScript (ECMAScript 2024) в реализации вашего браузера. Большая часть синтаксиса общая с PCRE, Python и Java, но ретроспективная проверка (lookbehind), именованные группы и Unicode-экранирование немного различаются в разных движках, поэтому тестируйте в том языке, который будете использовать.
Почему появилось сообщение, что шаблон остановлен?
Некоторые шаблоны, например (a+)+$ на длинной строке из букв a, заставляют движок перебирать экспоненциальное число комбинаций — это называется катастрофическим возвратом (catastrophic backtracking). Тестер работает в фоновом потоке и останавливается через 1,5 секунды. Перепишите вложенные квантификаторы или используйте более конкретные классы символов.
Как использовать группы захвата в замене?
Используйте $1, $2… для нумерованных групп, $<name> для именованных, $& для всего совпадения и $$ для самого знака доллара.
Мой текст куда-то отправляется?
Нет. Поиск выполняется в Web Worker в вашем браузере, поэтому логи и данные, на которых вы тестируете, остаются на вашем устройстве.
Конфиденциальность
Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.