WMW

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

Free

Перевіряйте регулярний вираз на тексті за допомогою вбудованого механізму регулярних виразів JavaScript, з підсвічуванням збігів у реальному часі, повним розбором пронумерованих та іменованих груп захоплення, а також додатковим режимом заміни, що попередньо показує результат String.replace().

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

/ /

Виділені збіги

Збіги

Недавня Активність

Видно всім. Останні 20 використань серед усіх відвідувачів, найновіші спочатку.

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 години тому

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 години тому

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 години тому

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 години тому

Tested a pattern (50 chars, flags: (none)) -- 1 match(es)

2 години тому

Tested a pattern (50 chars, flags: g) -- 2 match(es)

2 години тому

Коментарі (0)

Знайшли цей інструмент корисним? Залиште коментар, поділіться порадою, чи скажіть нам, як ми можемо покращити його.

Коментарі гостей переглядаються перед публікацією. Увійти щоб публікувати миттєво.

Ще немає коментарів. Будьте першим, хто поділиться думками!

Що робить цей інструмент

Цей інструмент перевіряє регулярний вираз на блоці тексту за допомогою вбудованого механізму регулярних виразів JavaScript браузера. Збіги виділяються безпосередньо в тексті, кожен збіг розбивається на пронумеровані та іменовані групи захоплення, а додатковий режим заміни показує саме те, що створив би String.replace() з вашим шаблоном і текстом заміни.

Як Це Працює

Ваш шаблон і вибрані прапорці компілюються у справжній об'єкт RegExp JavaScript. Коли прапорець Global увімкнено, інструмент багаторазово викликає exec() для тексту, переходячи за кожен збіг (і на один символ далі для порожніх збігів, щоб уникнути бескінечного циклу), доки більше не знаходиться збігів; без Global exec() викликається один раз. Виділення будується шляхом послідовного проходу по збігах і обгортання кожного збіглого підрядка в маркер, не торкаючись навколишнього тексту. Режим заміни викликає власний метод replace() тексту з вашим скомпільованим шаблоном і рядком заміни, тож результат точно збігається з тим, що створив би ваш власний код JavaScript.

Проблеми, які це вирішує

Часті запитання

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

Цей інструмент виконує ваш шаблон через власний вбудований механізм RegExp браузера JavaScript, тож він точно відповідає тому, як регулярний вираз поводитиметься в реальному коді JavaScript, у Node.js або у валідаторі форм на боці браузера, а не іншому діалекту, такому як PCRE (у PHP, у Python з модулем re є свої особливості) або регулярні вирази .NET, які можуть відрізнятися в підтримці lookbehind, синтаксисі іменованих груп та деяких інших деталях.

›Що насправді змінюють прапорці g, i, m, s та u?

g (глобальний) знаходить кожен збіг замість зупинки на першому; i робить зіставлення нечутливим до регістру; m змушує ^ та $ відповідати початку й кінцю кожного рядка, а не лише всього рядка цілком; s (dotall) змушує . також відповідати символам нового рядка, чого він інакше не робить; u увімкне повний режим Unicode, що впливає на те, як обробляються класи символів і сурогатні пари (символи за межами базової багатомовної площини, наприклад багато емодзі).

›Чому деякі групи захоплення відображаються як відсутні, хоча в моєму шаблоні є дужки?

Група захоплення, що є частиною альтернативи (A|B), захоплює лише тоді, коли ця гілка альтернативи дійсно збіглася, тож група з невикористаної гілки повідомляється як та, що не бере участі, це стандартна поведінка регулярних виразів, а не помилка в конкретному збігу.

›Як режим заміни інтерпретує мій текст заміни?

Режим заміни використовує власний синтаксис підстановки String.replace() з JavaScript: $1, $2 і так далі вставляють пронумеровану групу захоплення, $<name> вставляє іменовану групу, $& вставляє весь збіг цілком, а $$ вставляє буквальний знак долара, точно так само, як це відбувається в реальному коді JavaScript.

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

Перевірте, що прапорець Global (g) увімкнено; без нього і список збігів, і String.replace() діють лише на перший знайдений збіг, що є стандартною поведінкою регулярних виразів JavaScript, а не обмеженням цього інструменту.

Пов'язані Інструменти

Free

Текст

Генератор Виразів Cron

Створюйте та аналізуйте вирази cron за допомогою редактора полів у реальному часі, опису простими словами та наступних 5 реальних запусків. Підтримує шаблони, скорочення @ та необов'язковий 6-польовий варіант із секундами.

Free

Текст

Інструмент шифру Цезаря

Шифруйте чи дешифруйте текст класичним шифром Цезаря, з таблицею відповідності A-Z, списком повного перебору, діаграмою частоти літер та швидким переходом ROT13.

Free

Текст

Генератор ASCII-арту

Перетворіть введений текст або завантажене зображення на ASCII-арт. Виберіть стиль шрифту або шкалу символів, збережіть колір і експортуйте як звичайний текст або PNG.

Free

Текст

Редактор Секретів/Конфігурації

Вставте файл .env або конфігурації, і ключі API, паролі та токени автоматично замаскуються поруч із конфіденційними назвами ключів або відомими форматами секретів (AWS, GitHub, Stripe, JWT, PEM). Потім безпечно вставляти в чат-ШІ чи звіт про помилку.

Free

Текст

Генератор запису DMARC

Створюйте DNS-запис DMARC із зрозумілих полів, із пресетами поетапного впровадження та індикатором рівня застосування в реальному часі.

Free

Текст

Конвертер Excel у HTML-таблицю

Вставте з Excel або Google Таблиць чи завантажте файл .xlsx/.xls/.csv і отримайте чисту HTML-таблицю з живим переглядом, додатковим оформленням та вирівнюванням числових стовпців.

Free

Текст

Генератор хешів (MD5/SHA1/SHA256/SHA512)

Хешуйте текст або файл у MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160 та CRC32 одночасно, з полем порівняння з відомою контрольною сумою.

Free

Текст

Генератор htpasswd

Створюйте справжній файл Apache .htpasswd з bcrypt або SHA, перевірений побайтово порівняно з офіційним інструментом командного рядка htpasswd, з підтримкою кількох користувачів одночасно.