Перейти до вмісту

Пояснювач регулярних виразів

Розберіть регулярний вираз на частини простою мовою, по одному куску за раз.

Введення
Вихід

Пояснювач регулярних виразів

Вставте регулярний вираз, і цей інструмент розбере його на частини, перетворюючи крипто-синтаксис типу ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ на покрокове пояснення простою мовою про те, що саме відповідає кожній частині. Він приймає як простий шаблон, так і повний літерал /pattern/flags, тому ви можете вставити саме те, що скопіювали з редактора коду, бібліотеки валідації або старої відповіді на Stack Overflow.

Включіть «Пояснити прапорці» для поточкового значення g, i, m, s, u та решти; «Показати групи захоплення та іменовані групи» щоб побачити кожну (…) з першого погляду — корисно, коли шаблон містить більше груп, ніж ви можете порахувати; «Попередити про ризик повернення» щоб відмітити вкладене необмежене повторення — класичну форму (a+)+, яка може заморозити регулярний механізм на неправильному вході; «Запропонувати простішу нотацію» для простих переписів типу [0-9] в \d; та «Сгенерувати приклад збігу» щоб отримати короткий рядок, який шаблон дійсно приймає, корисно як швидка перевірка коректності. Виберіть режим відображення дерева або пронумеровані кроки, а також діалект JavaScript, PCRE або Python для примітки про синтаксис іменованих груп та присвійних квантифікаторів.

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

Все працює локально у вашому браузері. Шаблон, побудований навколо формату ключа API або валідатора особистих даних, ніколи не залишає вашу машину. Скопіюйте пояснення, завантажте його як текстовий файл або відправте результат назад на вхід для дослідження пов'язаного шаблону.

FAQ

Який діалект regex вибрати?
JavaScript охоплює те, що дійсно працює в браузері; переключіться на PCRE або Python лише коли вам потрібні примітки, специфічні для діалекту, про синтаксис іменованих груп та присвійних квантифікаторів — саме розбиття читає один і той же шаблон однаково у всіх трьох діалектах.
Чи може він перехопити всі шаблони катастрофічного повернення?
Ні. Він відмічає найчастішу причину — вкладене необмежене повторення типу (a+)+ — як евристику. Розглядайте попередження як гідне ретельнішого розгляду, а не як гарантію, і розглядайте чистий результат так само.
Наскільки точний сгенерований рядок-приклад?
Це детермінований, найкращий варіант прикладу, побудований шляхом проходження шаблону один раз. Він надійний для простих шаблонів, але lookarounds та складні backreferences лише наближені.
Чи перевіряє він шаблон на відповідність реальному регулярному механізму?
Ні — він використовує власний парсер, тому одне пояснення працює для синтаксису JavaScript, PCRE та Python без механізму, залежного від браузера. Справді неясний синтаксис може бути оголошений як недійсний навіть там, де конкретний механізм його б прийняв.
Чи завантажується мій регулярний вираз десь?
Ні. Пояснення шаблону працює повністю у вашому браузері — текст, який ви вставляєте, ніколи не надсилається на сервер.