Проверьте регулярное выражение прямо в браузере - подсветка всех совпадений, таблица capture-групп, флаги g/i/m/s/u/y, мгновенные ошибки компиляции. Работает на нативном JavaScript RegExp.
Инструмент компилирует введённое регулярное выражение прямо в браузере через конструктор new RegExp(pattern, flags) и прогоняет его по тестовому тексту. Все матчи подсвечиваются жёлтым, пересекающиеся/нулевой длины - синим. Для каждого совпадения выводится индекс в строке и значения capture-групп (включая именованные). Ошибки синтаксиса - например, непарные скобки или неизвестный флаг - показываются мгновенно.
\\d{3}-\\d{2}-\\d{2}).gi - все совпадения, без учёта регистра).| Флаг | Что делает |
|---|---|
g | Global - искать все совпадения, а не только первое |
i | Ignore case - без учёта регистра |
m | Multiline - ^ и $ матчат начало/конец строки, а не всей входной массы |
s | DotAll - . матчит и перевод строки |
u | Unicode - полная поддержка Unicode, surrogate-пары и \\p{...} property escapes |
y | Sticky - матчит только с позиции lastIndex |
d | Indices - возвращает индексы начала/конца для каждой группы |
Нативный RegExp вашего браузера (V8 в Chrome/Edge/Opera, SpiderMonkey в Firefox, JavaScriptCore в Safari). Диалект - ECMAScript. Для диалектов PCRE, POSIX, Python, Go, .NET синтаксис может отличаться - например, lookbehind-ы доступны начиная с ES2018.
Нет, вся обработка в вашем браузере. Ни паттерн, ни тестовый текст не передаются на наши серверы.
Это classic ReDoS - катастрофический backtracking на выражениях вроде (a+)+b. Упростите паттерн или добавьте atomic-групп ((?>...) - пока не поддержано в JS, но доступно через possessive-квантификаторы с ES2024). Как временное решение - закройте вкладку (Ctrl+W).
Да, через синтаксис (?<name>...). В таблице групп они показываются по имени.