Тестер регулярных выражений
Напишите регулярное выражение и сразу смотрите, что оно находит.
Введите шаблон без слешей или вставьте целиком /pattern/flags.
Вставьте текст, откройте файл или перетащите его сюда
Шпаргалка
- \d
- Цифра, 0–9
- \w
- Буква, цифра или подчёркивание
- \s
- Пробел, табуляция или перенос строки
- .
- Любой символ, кроме переноса строки
- ^
- Начало текста (или строки, с m)
- $
- Конец текста (или строки, с m)
- *
- Предыдущий элемент 0 или более раз
- +
- Предыдущий элемент 1 или более раз
- ?
- Предыдущий элемент, необязательно
- {n,m}
- Предыдущий элемент от n до m раз
- [abc]
- Любой один из a, b или c
- (…)
- Группа, захватывается как $1, $2, …
- (?<name>…)
- Именованная группа, захватывается как $<name>
- a|b
- Либо левая часть, либо правая
Далее: Сравнение текстов · Форматтер JSON
Сообщить о проблеме с этим инструментом
Как использовать Тестер регулярных выражений
Введите шаблон
Введите регулярное выражение без слешей или вставьте целиком /pattern/flags и отметьте нужные флаги.
Добавьте тестовый текст
Вставьте текст или откройте файл. Каждое совпадение подсвечено, а его позиция и группы перечислены ниже.
Замените или скопируйте
Отметьте «Заменить», чтобы попробовать замену с $1 или $<name>, затем скопируйте результат или само выражение.
Почему стоит использовать Utils365
Группы с первого взгляда
У каждого совпадения видны нумерованные и именованные группы, так что легко проверить, что окажется в $1 или $<year>.
Защита от зависающих шаблонов
Поиск идёт в фоне с лимитом в одну секунду, поэтому шаблон с бесконечным перебором не заморозит страницу.
Тот же движок, что и в вашем коде
Используется движок регулярных выражений JavaScript вашего браузера, поэтому результаты совпадают с Node.js и браузером.
Конфиденциально по умолчанию
Шаблон и текст остаются в браузере. Ничего не загружается, поэтому логи и данные клиентов можно проверять спокойно.
Часто задаваемые вопросы
Какой диалект регулярных выражений здесь используется?
JavaScript (ECMAScript), как в браузерах и Node.js. Большинство шаблонов работают так же и в других языках, но lookbehind, именованные группы и некоторые экранирования отличаются в старых движках.
Что делают флаги g, i, m, s, u и y?
g находит все совпадения, i игнорирует регистр, m заставляет ^ и $ срабатывать на каждой строке, s позволяет . совпадать с переносом строки, u включает полную поддержку Unicode, а y требует, чтобы каждое совпадение начиналось там, где закончилось предыдущее.
Как использовать группу захвата в замене?
Пишите $1, $2 и так далее для нумерованных групп, $<name> для именованных и $& для всего совпадения. Чтобы вставить настоящий знак доллара, напишите $$.
Почему шаблон выполнялся слишком долго?
Некоторые шаблоны, например (a+)+ на длинной строке, перебирают огромное число вариантов, прежде чем сдаться. Это называется катастрофическим возвратом (backtracking). Чтобы это исправить, сделайте вложенные повторы конкретнее.
Почему я вижу только одно совпадение?
Без флага g регулярное выражение останавливается на первом совпадении. Отметьте «Глобально (g)», чтобы найти все.
Как найти буквальную точку или скобку?
Поставьте перед ней обратную косую черту: \. находит точку, а \[ — скобку. То же касается других специальных символов, таких как * + ? ( ) { } | ^ и $.