Замена совпадений в C++
Функция std::regex_replace подставляет
строку замены вместо каждого совпадения
с шаблоном. Шаблон задают при создании
объекта, исходный текст и замена передают
в вызов метода:
std::string txt = "123 456 789"
std::regex re(R"(\d)");
std::string res = std::regex_replace(txt, re, "!");
std::cout << res << "\n";
В строке замены можно сослаться на совпадение через $0 (весь фрагмент) или на карман $1:
std::string txt = "a1 b22"
std::regex re(R"(\d+)");
std::string res = std::regex_replace(txt, re, "[$0]");
std::cout << res << "\n";
Дана строка:
std::string txt = "aaa bbb 123 www"
Замените повторяющиеся подряд одинаковые
буквы на один символ "!".