NordVPN
SponsoredStrict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →Введите регулярное выражение и тестовый текст — совпадения подсвечиваются по мере набора. Переключайте флаги (g/i/m/s/u), изучайте группы захвата и просматривайте результат замены.
g (глобальный): найти все совпадения, а не только первое. Необходим для поведения «заменить все». i (без учёта регистра): /[a-z]/i совпадает в обоих регистрах. m (многострочный): ^ и $ совпадают у переносов строки, а не только в начале/конце строки. s (dotall): . совпадает также с переносами строки. u (юникод): корректная обработка кодовых точек выше 0xFFFF (эмодзи, CJK в суррогатных парах).
Большинство начинают с /g/i/m. Флаг /s/ полезен для совпадения в многострочном тексте. Флаг /u/ рекомендуется всегда, когда может встретиться эмодзи или символы за пределами BMP — без него /./ не совпадёт с 4-байтным эмодзи как с одним символом.
Скобки создают группу захвата: /(\d{4})-(\d{2})/ для '2026-05' захватывает '2026' и '05' отдельно. Обращайтесь к ним через $1, $2 в строке замены. Именованные группы используют (?<name>...) и ссылаются на $<name> при замене.
Распространённые приёмы замены: $& вставляет полное совпадение; $1, $2 и т.д. вставляют группы захвата; $$ вставляет буквальный символ $. Предпросмотр замены здесь позволяет проверить результат перед запуском на реальном тексте — значительно безопаснее, чем применять прямо к производственным данным.
Экранирование обратной косой черты. Чтобы совпасть с буквальной '.', используйте '\.'. В JavaScript-исходнике это запишется '\\.' но в этом инструменте просто набирайте '\.' — это исходник регулярного выражения.
Катастрофический откат. Паттерны вида /(a+)+/ на 'aaaa…!' могут выполняться бесконечно. Если ваш тест кажется зависшим, вероятно, в регулярном выражении вложенные квантификаторы. Упростите паттерн или применяйте тщательное проектирование (в JavaScript нет притяжательных квантификаторов).
Жадный vs ленивый квантификатор. /<.+>/ для '<a><b>' совпадает с '<a><b>' (жадный). /<.+?>/ совпадает с '<a>' (ленивый). Выбирайте подходящий для вашего случая.
JavaScript ECMAScript regex (тот, что реализован в браузере). Он немного отличается от PCRE, используемого в PHP, .NET или Python.
В современных браузерах работает — Chrome, Firefox, Safari, Edge поддерживают (?<=...) и (?<!...) с 2021 года. Если у вас не работает — ваш браузер может быть устаревшим.
Включает корректную обработку Unicode. Эмодзи 🎉 (суррогатная пара в UTF-16) обрабатывается как один символ с флагом /u/ и как два символа без него.
\t для табуляции, \n для новой строки, \r для возврата каретки, \s для любого пробельного символа, включая все перечисленные.
Чаще всего вы забыли флаг 'g' — замена без 'g' заменяет только первое совпадение. Включите 'g' для замены всех.
Да, до нескольких МБ. Дальше браузер может замедлиться. Избегайте катастрофических паттернов (вложенных квантификаторов) на длинных входных данных.
Нет. Паттерн и текст обрабатываются только локально.
Ищите «JavaScript regex cheat sheet». Страница MDN RegExp — авторитетный справочник.
Strict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →Managed cloud hosting for WordPress and web apps on DigitalOcean, Vultr, and AWS. Fast setup, no server headaches.
Try Cloudways →Hire freelancers for design, writing, dev, and marketing — or sell your own services. Millions of gigs at every budget.
Browse Fiverr →