Тестер регулярных выражений
Тестер регулярных выражений
Проверяйте регулярки на живом тексте: паттерн, флаги и тестовая строка — все совпадения и группы захвата (g1=, g2=) появляются по мере ввода.
Ошибки паттерна показываются текстом интерпретатора — не нужно гадать, где пропущена скобка.
Частые вопросы (FAQ)
Как вытащить данные из строки лога регуляркой?
Кейс: нужно достать IP и код ответа из строки nginx. Паттерн (\d{1,3}\.){3}\d{1,3}.*" (\d{3}) даёт IP в g1 и код в g2 — тестер покажет обе группы по каждой строке, и сразу видно, ловит ли паттерн все варианты.
Чем жадный квантификатор отличается от ленивого?
.* берёт максимум (до конца строки и отступает), .*? — минимум (останавливается на первом совпадении). Классика: жадный паттерн тегов съест всё между первым открывающим и последним закрывающим, ленивый разобьёт по парам.
Почему регулярка «зависает» на большом тексте?
Это катастрофический бэктрекинг: вложенные квантификаторы вроде (a+)+ на неподходящей строке перебирают экспоненциальное число вариантов. Лечится упрощением паттерна (убрать вложенность) или атомарными группами, где поддерживаются.