Тестер регулярных выражений

Проверьте регулярное выражение на своём тексте и посмотрите все совпадения с их позициями и группами захвата. Переключитесь в режим замены, чтобы переписать

🌍 Доступ по всему миру 🔒 Приватность прежде всего ⚡ Мгновенная конвертация 💯 Без ограничений
Advertisement

Введите шаблон, вставьте свой текст и увидьте все совпадения с подсветкой, их позициями и группами захвата. Переключитесь в режим замены, чтобы переписать текст подстановкой, или в режим извлечения, чтобы вывести одну группу захвата построчно, — это самый быстрый способ проверить шаблон до того, как он попадёт в код.

Движок — это диалект регулярных выражений JavaScript, который используют браузеры, поэтому результат совпадает с тем, что вы получите в Node или в консоли браузера, включая именованные группы, опережающую проверку и ленивые квантификаторы. Доступны флаги глобального поиска, игнорирования регистра, многострочного режима, точки как любого символа и Unicode, а вышедший из-под контроля шаблон останавливается, вместо того чтобы подвесить вкладку.

Как проверить регулярное выражение

1

Введите шаблон и задайте флаги

2

Вставьте текст для проверки

3

Посмотрите совпадения или используйте режимы замены и извлечения

Частые вопросы

Какой диалект регулярных выражений используется?

JavaScript (ECMAScript) — тот же движок, что в браузере и Node.js. Шаблоны, написанные для PCRE, Python или Java, могут потребовать небольших правок: притяжательные квантификаторы и рекурсия в этом диалекте отсутствуют.

Почему мой шаблон завис или остановился?

Катастрофический откат, обычно из-за вложенных квантификаторов вроде (a+)+ на длинной строке без совпадений. Инструмент останавливается после заданного числа итераций, чтобы защитить вкладку; упростите шаблон или привяжите его.

Как заменить текст?

Переключитесь в режим замены и введите строку подстановки. $1, $2 или $<name> вставляют группы захвата, так что можно переформатировать даты, менять местами поля или чистить журналы.

Что делает режим извлечения?

Он выводит по одной группе захвата на строку вместо всего совпадения — именно это нужно, когда вы вытаскиваете адреса email, URL или идентификаторы из большого текста.

Работают ли переводы строк в моём шаблоне?

Только с флагами многострочного режима или точки как любого символа. По умолчанию . не совпадает с переводом строки — частая причина того, что шаблон работает на одной строке, но не работает на абзаце.

Мой текст куда-то загружается?

Нет, сопоставление выполняется локально — это полезно, когда текст содержит реальные данные журналов или информацию о клиентах.

Advertisement

Кратко

Вводтекст
Несколько файловНет
Где работаетВ вашем браузере — файлы никуда не загружаются
Работает офлайнДа — после загрузки страницы
ЦенаБесплатно, без регистрации, без водяных знаков

Где конвертации незаметно ломаются

Большинство ошибок конвертации — не про синтаксис, а про смысл. Столбец CSV с почтовыми индексами теряет ведущие нули в тот момент, когда таблица решает, что это число; длинный идентификатор выходит за пределы точности чисел с плавающей запятой; даты меняют смысл в зависимости от того, что идёт первым — день или месяц. Ключи JSON не упорядочены, а массивы упорядочены, и инструмент, сортирующий ключи, ничего не меняет, тогда как сортирующий массивы меняет данные. Unicode — ещё одна ловушка: текст может прийти в UTF-8, в UTF-16 или с BOM, и декодер, который угадает неверно, превращает буквы с диакритикой в «кракозябры». Прежде чем доверять любой конвертации, выборочно проверьте первую и последнюю строку, любое поле с ведущими нулями и любое поле, содержащее кавычки, запятые или переводы строк.

Как выбрать формат данных

JSON — выбор по умолчанию для всего, что возвращает API или читает программа: он естественно работает с вложенными структурами, числами, логическими значениями и null, и его разбирает любой язык. CSV компактнее и открывается прямо в таблице, но в нём нельзя выразить вложенность и нет общего стандарта для разделителя, кавычек и кодировки — именно здесь конвертации и ломаются. XML многословен, но несёт атрибуты, смешанное содержимое и схемы, поэтому до сих пор доминирует в форматах документов и устаревших интеграциях. YAML самый читаемый для конфигурации, но чувствителен к пробелам и удивляет приведением типов («no» превращается в false, версия вроде 1.10 — в 1.1). Выбирайте формат, который предпочитает потребляющий инструмент, а не тот, что выглядит красивее.