DevToolPal
UK

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

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

Працює локально, нічого не завантажується на сервер

Параметри

Тестовий рядок

0 симв. · 0 B

Результат

Тут з’явиться результат

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

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

Як користуватися

  1. Вставте текст для пошуку в поле Тестовий рядок або натисніть Приклад.
  2. Введіть шаблон у поле Регулярний вираз на панелі параметрів. Обрамлювальні скісні риски додавати не потрібно.
  3. Увімкніть потрібні прапорці: g для всіх збігів, i щоб ігнорувати регістр, m для ^ і $ на кожному рядку, s щоб . збігалася й з переносами рядків, u для повної підтримки Unicode.
  4. Перегляньте результат: кількість збігів, підсвічений текст і таблицю з кожним збігом та його групами. Натисніть Копіювати, щоб скопіювати будь-яке значення.
  5. Щоб випробувати заміну, заповніть Замінити на, наприклад $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+)+ на довгих вхідних даних.