Подборка практических примеров переформатирования текста с помощью групп захвата и строки замены.
Суть замены — разбить совпавшую часть на группы захвата и переставить их. На нумерованные группы ссылаются через $1·$2, на именованные — через $<name>. Например, если захватить дату как (\d{4})-(\d{2})-(\d{2}) и заменить на $3/$2/$1, то 2026-07-02 превращается в 02/07/2026.
Очистка пробелов — часто используемый рецепт. Замените последовательность пробелов \s+ на один пробел, а пробелы в начале и конце строк удалите, заменив ^\s+|\s+$ на пустую строку. Для многострочного текста нужно также включить флаг m, чтобы это применялось к началу и концу каждой строки.
Часто встречается и оставление только цифр с изменением формата. Если в номере телефона захватить цифры как (\d{3})(\d{4})(\d{4}) и заменить на $1-$2-$3, получится единообразный формат. На вкладке замены этого инструмента можно в реальном времени видеть результат и доводить его до нужного вида.
Полезно знать и специальные знаки строки замены. $& — это всё совпадение, $` и $' — контекст до и после совпадения, а литеральный знак доллара записывается как $$. Этот инструмент поддерживает строковую замену; для сложной условной замены лучше использовать замену функцией в языке программирования.