Тестер регулярных выражений
Введите регулярное выражение и текст — совпадения подсветятся, а группы будут разобраны в таблице.
Всё считается в вашем браузере: введённые данные никуда не отправляются.
Как пользоваться
- Введите выражение без косых черт — например,
\d{3}-\d{2}. - Отметьте флаги. По умолчанию включён
g— поиск всех совпадений, а не только первого. - Вставьте текст: совпадения подсветятся, а в таблице появятся их позиции и содержимое групп.
- Если нужно заменить найденное, заполните поле замены:
$1— первая группа,$<name>— именованная,$&— всё совпадение.
Флаги
| Флаг | Что делает |
|---|---|
g | находит все совпадения в тексте |
i | не различает заглавные и строчные буквы, в том числе кириллицу |
m | ^ и $ означают начало и конец каждой строки, а не всего текста |
s | точка . совпадает и с переводом строки |
u | режим Юникода: эмодзи считаются одним символом, доступны классы \p{L} |
Особенности синтаксиса
Инструмент использует движок регулярных выражений JavaScript. Именованные группы (?<имя>…), просмотр вперёд и назад, ленивые квантификаторы работают так же, как в Python, PHP и большинстве языков. Отличия есть в редких конструкциях: атомарных группах и притяжательных квантификаторах, которых в JavaScript нет.
Обратите внимание: \w в JavaScript соответствует только латинице, цифрам и подчёркиванию. Для кириллицы используйте [А-Яа-яЁё] или \p{L} с флагом u.
Частые вопросы
Почему \w не находит русские буквы?
В JavaScript \w — это только [A-Za-z0-9_]. Для кириллицы используйте [А-Яа-яЁё] или включите флаг u и пишите \p{L}.
Почему найдено только одно совпадение?
Выключен флаг g. Без него поиск останавливается на первом совпадении.
Подойдёт ли выражение для Python или PHP?
Базовый синтаксис совпадает. Различия касаются редких конструкций и способа записи: в PHP выражение обрамляется разделителями, а в Python лучше использовать сырые строки r"…".