Выбрать тип поиска
finditer перечисляет все непересекающиеся совпадения, search находит первое, fullmatch требует совпадения всего текста. Флага g из JavaScript здесь нет.
Regex и сопоставление шаблонов
Введите шаблон и текст, затем вручную запустите поиск, полное совпадение или замену через Python re.
Введите данные или запустите тест.
Шаблон и текст обрабатываются в этом браузере. Файлы Python загружаются при первом запуске.
i — Без учёта регистраm — ^ и $ на границах строкs — Точка захватывает перевод строкиx — Пробелы и комментарии в шаблонеa — Классы символов ASCIIСреда Python: загрузится при первом запуске
Пределы: шаблон 2000, текст 100000, замена 10000 единиц UTF-16; 10000 совпадений, миллион единиц вывода, четыре миллиона в отчёте. Остановка через две секунды.
Введите данные или запустите тест.
Шаблон может работать в JavaScript-тестере и не проходить в Python. Этот тестер регулярных выражений Python запускает CPython re, поэтому именованные группы и ссылки в замене ведут себя как в вашей программе.
Если нужна проверка regex онлайн, сравните finditer, search и fullmatch. Группы захвата получают позиции в кодовых точках Unicode; замена регулярным выражением в Python использует \g<name>, а не $1.
Тестер регулярных выражений Python показывает целое совпадение и пронумерованные либо именованные группы отдельно. Не участвовавшая группа имеет null и (-1, -1), а захваченная пустая строка остаётся пустой строкой.
Ссылки \g<last> и \g<first> меняют порядок полей в отдельном результате re.subn. Нулевой лимит означает замену всех совпадений; исходный текст остаётся доступен.
finditer перечисляет все непересекающиеся совпадения, search находит первое, fullmatch требует совпадения всего текста. Флага g из JavaScript здесь нет.
i, m, s, x и a принадлежат Python re. m меняет поведение ^ и $ на границах строк, s разрешает точке захватывать перевод строки. Среда Python загружается при первом ручном запуске.
Индексы начинаются с нуля, не включают конец и считают кодовые точки Unicode. В A😀B буква B начинается с позиции Python 2. Ctrl/Cmd + Enter запускает тест повторно.
Тестер регулярных выражений Python загружает Pyodide в Worker и показывает действительную версию Python. JavaScript RegExp не выдаётся за Python.
Для каждого совпадения доступны группа 0, номера, имена, значения и интервалы. Позиции Python преобразуются для правильной подсветки текста с эмодзи в браузере.
re.subn раскрывает \1 и \g<name>. Пустой шаблон удаляет совпадения, а $1 остаётся обычным текстом. Исходная строка не перезаписывается.
Копирование и скачивание JSON доступны лишь после успешного завершения. Отчёт содержит шаблон, флаги, режим, версию и все совпадения; заменённый текст тоже можно сохранить.
Проверьте выбранный движок regex101: там может стоять PCRE2. Здесь работает CPython re; именованная группа в нём записывается как (?P<name>...).
Да. Выберите замену и введите \g<name> или \1. $1 не раскрывается как группа Python; исходный текст не меняется.
Да. Совпадения подсвечены, значения и позиции групп приведены отдельно. Совпадение нулевой длины отмечено видимым маркером.
Ленивый вариант сначала пробует короткий фрагмент, жадный — длинный. Ни один не гарантирует быструю работу: проверяйте пограничные данные.
Оба варианта группируют части шаблона, но только (...) создаёт нумерованную группу захвата для результата или ссылки при замене.
Остались вопросы?
Сравните ожидаемое совпадение с отрицательным примером и проверьте группы перед сохранением отчёта.