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

Тестер регулярних виразів FREE

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

Безкоштовно Без реєстрації Приватність передусім
01Введення

Перевірити регулярний вираз

Введіть шаблон без обрамних скісних рисок, вставте текст для перевірки, а тоді оберіть прапорці. Пошук виконується у браузері під час набору.

Рушій JavaScript / ECMAScript Працює у вашому браузері: нічого не надсилається

Не пишіть обрамні скісні риски. Скісна риска всередині шаблону тут не потребує екранування.

Як літерал

Ваш текст використовується точно таким, як його введено. Нічого не обрізається, бо пробіли на початку та в кінці можуть змінити те, що знайде шаблон.

Прапорці

u і v - це два різні режими Unicode, їх не можна поєднувати: вибір одного знімає інший.

02Пояснення

Пояснення шаблону

Шаблон читається у вашому браузері токен за токеном. Конструкція, яку цей читач не моделює, показується так, як її записано, замість помилкового опису.

Введіть шаблон вище, щоб побачити розбір.

03Результат

Збіги

Введіть шаблон, щоб побачити живі збіги

Збіги, позиції, групи захоплення та розбір шаблону з'являться тут, щойно ви почнете набирати. Також можна завантажити один із поширених шаблонів нижче.

Подробиці збігів і захоплені групи

Позиції - це індекси рядка в JavaScript, полічені в кодових одиницях UTF-16. Символи поза базовою багатомовною площиною, як-от чимало емодзі, рахуються як два.

    Цей шаблон нічого не знайшов у поточному тестовому тексті. Це результат, а не помилка: сам шаблон коректний.

    04Бібліотека

    Поширені шаблони

    Практичні відправні точки, кожна зі зразком тексту. Це не повні валідатори: справжні правила для електронної пошти, URL, телефонів і дат залежать від системи, яку ви будуєте, тож сприймайте їх як перший чернетковий варіант і допрацюйте.

    Текст

    Розробка

    Польща

    05Довідка

    Про регулярні вирази в JavaScript

    01

    Що таке регулярний вираз

    Регулярний вираз - це шаблон, що описує множину рядків. Замість шукати одне фіксоване слово ви описуєте його форму - чотири цифри, потім дефіс, потім дві цифри - і рушій знаходить кожен фрагмент тексту такої форми. Регулярні вирази вбудовані майже в кожен редактор, мову й інструмент командного рядка.

    02

    Як користуватися цим тестером

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

    03

    Різновид JavaScript і ECMAScript

    Пошук використовує рушій регулярних виразів, вбудований у ваш браузер, який реалізує специфікацію ECMAScript. Інші різновиди - це справді інші мови: PCRE, PHP, Python, Java та .NET додають або прибирають синтаксис, тож шаблон, що працює тут, деінде може потребувати змін. Цей інструмент описує лише поведінку ECMAScript.

    04

    Групи захоплення та іменовані групи

    Дужки захоплюють ту частину збігу, яку охоплюють, пронумеровану зліва направо. Іменування, як у (?<year>...), робить те саме захоплення читабельним у коді. Необов'язкова група, яка не брала участі у збігу, повідомляється як без збігу, і це інше, ніж група, що збіглася з порожнім рядком.

    05

    Чому пошук виконується у воркері

    Деякі шаблони патологічні: (a+)+$ на довгому ряді символів a змушує рушій перебрати астрономічну кількість шляхів. Тому пошук виконується у фоновому потоці з обмеженням часу. Якщо запуск його перевищує, потік зупиняється й тестер про це каже - шаблон дорогий, а не помилковий - і наступний шаблон працює нормально.

    06

    Приватність

    Шаблон, прапорці, тестовий текст, збіги та захоплені групи лишаються в цій вкладці браузера. Вони не надсилаються до POLPROG, до аналітики чи до звітування про помилки, не потрапляють в адресний рядок і не зберігаються між візитами. Досить закрити сторінку, щоб їх не стало.

    Обсяг і межі

    Що охоплює цей тестер

    Пошук ECMAScript у браузері, із зазначеними межами

    Тестер запускає ваш шаблон на вашому тексті власним рушієм ECMAScript браузера й повідомляє те, що той повернув: збіги, позиції, групи захоплення та іменовані групи. Він не перевіряє інші різновиди регулярних виразів, не вимірює продуктивність і обмежує тестовий текст 200 000 символів, а докладний список - першими 100 збігами, щоб великий результат лишався читабельним. Загальна кількість збігів усе одно повідомляється повністю.

    Довідка

    FAQ

    Чи бачить POLPROG мій регулярний вираз або тестовий текст?

    Ні. Усе працює у вашому браузері: шаблон, прапорці, тестовий текст, збіги та захоплені групи лишаються на сторінці. Цей інструмент не робить жодного виклику API, нічого не пише у сховище й нічого з цього не надсилає до аналітики чи звітування про помилки.

    Який різновид регулярних виразів використовує цей тестер?

    Рушій ECMAScript, вбудований у ваш браузер, той самий, що виконує регулярні вирази JavaScript. PCRE, PHP, Python, Java та .NET - це інші різновиди з іншим синтаксисом та іншою поведінкою, тож шаблон, перевірений тут, перевірено лише для JavaScript.

    Що станеться з шаблоном, який ніколи не завершується?

    Пошук виконується у фоновому потоці з обмеженням близько однієї секунди. Шаблон на кшталт (a+)+$ на довгому вводі може працювати практично без кінця; коли ліміт минає, потік зупиняється, і тестер повідомляє, що виконання зупинено. Шаблон дорогий, а не помилковий, і наступний набраний шаблон працює нормально.

    Чому група показує «немає збігу» замість порожнього значення?

    Необов'язкова група, яка ніколи не брала участі у збігу, не має жодного значення, і це інше, ніж група, що збіглася з порожнім рядком. JavaScript повідомляє першу як undefined, а другу - як порожній рядок. Тестер їх розрізняє, бо ця різниця змінює те, що має обробити ваш код.

    Створюйте кращий вебпростір, швидше.

    Ми створюємо індивідуальне програмне забезпечення та рішення, адаптовані до ваших потреб.

    Зв'язатися