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

Regex escape

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

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

Regex escape

Регулярний вираз обробляє символи, такі як . * + ? ^ $ { } ( ) | [ ] і \, як інструкції, а не як дослівний текст. Вставте ім'я файлу, ціну, URL-адресу або будь-яку рядок, що містить один з цих символів, і цей інструмент екранує кожен спеціальний символ зворотною похилою лінією, щоб результат точно відповідав цьому тексту — ніж більше, ніш менше. Змініть напрям на зняття екранування і процес змінюється в зворотному порядку: видаліть зворотні похилі лінії з шаблону, щоб відновити вихідний рядок.

Опція діалекту визначає, які символи насправді потребують екранування. JavaScript та PCRE використовують одну й ту саму сукупність метасимволів, тому шаблон, створений для одного, працює так само в іншому. POSIX Basic Regular Expressions — стандарт для звичайного grep та sed — більш вузький: символи + ? { } ( ) та | є звичайними дослівними символами, а не метасимволами, тому їх екранування пропускається. Увімкніть опцію «Екранувати також розділювач (/)» коли шаблон буде записаний між похилими лініями, наприклад /шаблон/, щоб дослівна похила лінія не завершила шаблон передчасно.

Дві опції обробляють багаторядкове введення. Опція «Кожну строку як окремий шаблон» обгортає кожний рядок символами ^ та $, перетворюючи список точних рядків на шаблони, які відповідають цілому рядку — зручно для побудови списків дозволених або заблокованих елементів. Опція «Об'єднати рядки в одну альтернацію» йде далі, об'єднуючи кожен рядок в одну групу (?:a|b|c), готову для прямого вставлення в регулярний вираз. Зняття екранування змінює обидва процеси в зворотному порядку: розділяє альтернацію назад на рядки та видаляє якорі.

Усе працює локально у вашому браузері. Текст і шаблони, які ви вставляєте — включаючи імена файлів, маркери або шляхи — ніколи не надсилаються нікуди; екранування виконується повністю на вашому пристрої.

FAQ

Які символи екранує цей інструмент?
Метасимволи регулярного виразу . * + ? ^ $ { } ( ) | [ ] та \. Точно які з них потребують зворотної похилої лінії, залежить від вибраного діалекту — наприклад, POSIX BRE розглядає символи + ? { } ( ) та | як уже дослівні.
Яка різниця між діалектами JavaScript, PCRE та POSIX?
JavaScript та PCRE (сумісний з Perl регулярний вираз, що використовується багатьма мовами та інструментами) використовують одну й ту саму сукупність метасимволів для екранування. POSIX тут означає Basic Regular Expression — стандарт для звичайного grep та sed, де символи + ? { } ( ) та | є звичайними символами, а не метасимволами — тому вони не екранюються.
Що створює опція «Об'єднати рядки в одну альтернацію»?
Вона екранує кожен рядок і об'єднує їх в одну групу, наприклад (?:кіт|собака|птах), готову до використання як один шаблон, який відповідає будь-якому з рядків. При переключенні на зняття екранування шаблон у такій точній формі розділяється назад на окремі рядки.
Чи може функція зняття екранування коли-небудь відмовити або видати помилку?
Ні. Зняття екранування видаляє лише зворотну похилу лінію, що стоїть безпосередньо перед визнаним спеціальним символом; будь-яка інша послідовність зворотної похилої лінії або неправильно сформована оболонка альтернації залишається рівно так, як була введена, замість видачі помилки.
Мій текст завантажується кудись?
Ні. Екранування та зняття екранування працюють повністю у вашому браузері — ніщо, що ви вставляєте сюди, не надсилається на сервер.