Что такое регулярный объяснение?
Объяснение регулярного выражения принимает регулярное выражение и переводит его на простой английский, по одной конструкции за раз. Вместо того, чтобы прищуриться от плотной линии, такой как ^(?<user>[A-Z0-9._%+-]+)@... Вы получаете маркировку: эта часть является якорем, это именованная группа захвата, этот класс символов означает «строчная буква, цифра, точка или дефис», и этот квантор означает «один или несколько раз». Он превращает стену символов в контрольный список, который вы можете прочитать.
Регулярные выражения компактны по дизайну, что делает их мощными, но их трудно рассмотреть. Один и тот же паттерн может быть написан многими способами, и один бродячий обратный слэш или жадный квантор полностью меняют значение. Чтение незнакомого регулярного выражения — в обзоре кода, старого файла конфигурации или ответа переполнения стека — обычно означает мысленную симуляцию движка. Этот инструмент выполняет эту моделирование для вас и показывает результат в виде упорядоченного списка с отступом, который отражает структуру шаблона, включая вложенные группы и осмотры.
Все работает на стороне клиента на одном и том же движке JavaScript regexp, который использует ваш код, поэтому поведение флага и достоверность, которые вы видите здесь, соответствуют Производству. Ваш шаблон никогда не загружается, ничего не регистрируется, и инструмент продолжает работать в автономном режиме после загрузки страницы. Это имеет значение, когда регулярные выражения, которые вы пытаетесь понять, поступает из частной кодовой базы или соответствует форматам конфиденциальных данных.
Объяснитель говорит вам, что говорит шаблон, а не то, является ли это правильным шаблоном для ваших данных — проверить это, запустить его против реального ввода в тестер регулярного выражения. Поскольку он компилируется с собственным движком браузера, конструкции, которые существуют в PCRE, но не в ECMAScript, ведут себя двумя разными способами. Притяжательные кванторы, такие как A++, атомные группы (?>...) и рекурсия (?r) прямые, с собственным сообщением движка. Более тонкий случай: \A и \Z: без флага U, без javascript, рассматривает их как избегание идентификации, поэтому шаблон, скопированный с PHP или Python, объясняется как соответствующее литералу A или Z, а не границе строки, и ошибка не возникает. Вложенные квантификаторы, такие как (A+)+, также описаны нормально; катастрофическое возвращение — это свойство runtime для входа, а не что-то видимое в структуре.
Как использовать регулярный выражение?
Вставьте свое регулярное выражение
Введите узор без окружающих косых черт — только само выражение. Нажмите Загрузить образец, чтобы начать с работающего примера сопоставления электронной почты.
ставить флаги
Переключите флаги, используемые узором (G, i, M, S, U, Y, D). Объяснитель сообщает, что делает каждый флаг, и проверяет шаблон по отношению к этой комбинации флага.
Читать разбивку
Каждый токен указан в порядке с английским описанием. Вложенные группы отступы, поэтому структура шаблона видна с первого взгляда.
Скопируйте объяснение
Скопируйте полную разбивку в виде простого текста, чтобы вставить в комментарий кода, записку с запросом на вытягивание или документацию, чтобы следующему читателю не пришлось его декодировать.
Основные характеристики
Разбивка токена
Каждый привязка, класс символов, квантификатор, группа и escape получают свою собственную строку с описанием, в том порядке, в котором их движок читает
группа и осмотр осознавать
Захват, не захват, именованные группы и все четыре типа lookarcat маркируются и отступы, поэтому вложенную структуру легко следовать
Пометить объяснения
Флаги G, I, M, S, U, Y и D описаны в контексте, поэтому вы понимаете, как они меняют все совпадение, а не только синтаксис.
Реальная проверка двигателя
Шаблоны проверяются с помощью собственного движка REGEXP браузера, поэтому недопустимое выражение выявляется с точной ошибкой, прежде чем вы будете полагаться на него
Frequently Asked Questions
Related Tools
Email Extractor
Extract email addresses, URLs, phone numbers, and IPv4 addresses from any block of text. De-duplicate, sort, and copy the results. Runs client-side.
Regex Replace
Find and replace text with a regular expression, using capture group backreferences like $1 and named groups, with full flag support
Regex Tester
Test regular expressions against sample text with live match highlighting, capture groups, and full flag support
Regex Builder
Build, test, and debug regular expressions with real-time matching and a comprehensive cheatsheet
Comments
0 comments
No comments yet. Be the first to share your thoughts!