Regex тестер
Тествайте регулярни изрази в реално време с подчертаване на съвпадения и показване на групи за прихващане. Безплатен онлайн regex дебъгер, работи 100% във вашия браузър.
Бърза справка за regex
| Шаблон | Описание |
|---|---|
. | Произволен символ (без нов ред) |
^ | Начало на низ / ред |
$ | Край на низ / ред |
* | 0 или повече повторения |
+ | 1 или повече повторения |
? | 0 или 1 (незадължително) |
{n} | Точно n повторения |
{n,m} | Между n и m повторения |
\d | Цифра [0-9] |
\D | Не-цифра |
\w | Буквено-цифров символ [a-zA-Z0-9_] |
\W | Не-буквено-цифров символ |
\s | Интервал |
\S | Не-интервал |
\b | Граница на дума |
[abc] | Клас: a, b или c |
[^abc] | Отрицание: не a, b или c |
(abc) | Група за прихващане |
(?:abc) | Неприхващаща група |
(?<n>abc) | Именувана група "n" |
a|b | Алтернатива: a или b |
Справочник
Какво е регулярен израз?
Регулярен израз (regex) е последователност от символи, която определя шаблон за търсене. Regex се използва практически във всеки програмен език и инструмент — от валидация на формуляри в JavaScript до парсване на логове в Python до търсене и замяна в текстови редактори. Шаблонът комбинира литерални символи, метасимволи (. ^ $ * + ? { } [ ] | ( )) и класове символи (\d цифра, \w буквено-цифров символ, \s интервал). Този инструмент използва ECMAScript regex двигателя (същият, използван в JavaScript, TypeScript и Node.js).
Обяснение на regex флаговете
g — глобален: намиране на всички съвпадения, не само първото. Необходим за броене на срещания или замяна на всяко появяване.
i — без значение на регистъра: съвпадение на главни и малки букви взаимозаменяемо. /hello/i съвпада с "Hello", "HELLO" и "hello".
m — многоредов: ^ и $ съвпадат с началото и края на всеки ред, не само на целия низ. Критично за парсване на логове ред по ред.
s — dotAll: метасимволът . съвпада и със символи за нов ред. Без този флаг . спира при прекъсвания на редове.
Групи за прихващане
Групите за прихващане (pattern) прихващат съвпадналия подниз за извличане или обратна референция. Именувани групи (?<name>pattern) присвояват четимо име на прихванатото, достъпно чрез match.groups.name — много по-ясно от номерирани групи в сложни шаблони. Неприхващащи групи (?:pattern) групират без прихващане — полезни за прилагане на квантификатори към последователност без създаване на ненужно прихващане. Обратни референции като $1, $2 в низове за замяна се отнасят до прихванатия текст по номер на групата.
Поверителност
Цялото съвпадение работи 100% във вашия браузър. Никакви данни не се изпращат към сървър.