Що робить цей інструмент
Тестер регулярних виразів дає змогу написати регулярний вираз і під час набору бачити, з чим саме він збігається у вашому тексті. Збіги підсвічуються на місці, кожна група захоплення показується зі значенням і позицією, а необов’язковий шаблон заміни показує, що поверне String.replace.
Як користуватися
- Вставте текст для пошуку в поле Тестовий рядок або натисніть Приклад.
- Введіть шаблон у поле Регулярний вираз на панелі параметрів. Обрамлювальні скісні риски додавати не потрібно.
- Увімкніть потрібні прапорці: g для всіх збігів, i щоб ігнорувати регістр, m для
^і$на кожному рядку, s щоб.збігалася й з переносами рядків, u для повної підтримки Unicode. - Перегляньте результат: кількість збігів, підсвічений текст і таблицю з кожним збігом та його групами. Натисніть Копіювати, щоб скопіювати будь-яке значення.
- Щоб випробувати заміну, заповніть Замінити на, наприклад
$2, $1.
Приклад
Шаблон за замовчуванням ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+) знаходить адреси електронної пошти й окремо захоплює ім’я користувача та домен. Із заміною $1 at $2 текст hello@example.com стає hello at example.com.
Коротка довідка
\dцифра,\wсимвол слова,\sпробільний символ,.будь-який символ*нуль або більше,+один або більше,?необов’язково,{2,5}від 2 до 5[abc]один із,[^abc]жоден із,a|bабо те, або інше(...)група захоплення,(?<name>...)іменована група,(?:...)група без захоплення(?=...)випереджальна перевірка (lookahead),(?<=...)ретроспективна перевірка (lookbehind),\bмежа слова
Часті запитання
› Який діалект регулярних виразів тут використовується?
Рушій JavaScript (ECMAScript), вбудований у ваш браузер, — той самий, що в Node.js, Deno і всіх браузерах. Більшість синтаксису спільна з PCRE, Python і Java, але деякі можливості, як-от присвійні квантифікатори й рекурсія, не підтримуються.
› Чому мій шаблон знаходить лише один збіг?
Увімкніть прапорець Global (g). Без нього JavaScript зупиняється після першого збігу.
› Як посилатися на групи в заміні?
Використовуйте $1, $2… для нумерованих груп, $<name> для іменованих, $& для всього збігу та $$ для буквального знака долара.
› Чому ^ і $ не збігаються на кожному рядку?
За замовчуванням вони збігаються лише з початком і кінцем усього тексту. Увімкніть Multiline (m), щоб вони збігалися на переносах рядків.
› Чи надсилається мій текст кудись?
Ні. Пошук збігів виконується у вашому браузері. Дуже повільні шаблони (катастрофічний бектрекінг) можуть заморозити вкладку, тож уникайте вкладених квантифікаторів на кшталт (a+)+ на довгих вхідних даних.