РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
424 of 815 menu

Функция regex_replace

Функция regex_replace выполняет поиск всех совпадений с регулярным выражением в исходной строке и заменяет их на указанную строку замены. Сама исходная строка при этом не изменяется. В первый параметр мы передаем исходную строку, во второй - объект regex с регулярным выражением, а в третий - строку замены.

Функция возвращает новую строку, в которой все найденные совпадения заменены. В строке замены можно использовать специальные ссылки на захваченные группы, например "$1", "$2" и так далее.

Синтаксис

regex_replace(str, regex, replacement)

Пример

Давайте заменим все цифры в строке на символ '*':

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abc123de45"; regex reg("[0-9]+"); string res = regex_replace(str, reg, "*"); cout << res << endl; return 0; }

Результат выполнения кода:

"abc*de*"

Пример

Давайте поменяем местами имя и фамилию, используя захваченные группы в строке замены:

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "Ivan Petrov"; regex reg("(\\w+) (\\w+)"); string res = regex_replace(str, reg, "$2 $1"); cout << res << endl; return 0; }

Результат выполнения кода:

"Petrov Ivan"

Пример

Давайте удалим все гласные буквы из строки, заменив их на пустую строку:

#include <iostream> #include <regex> #include <string> using namespace std; int main() { string str = "abcde"; regex reg("[aeiou]"); string res = regex_replace(str, reg, ""); cout << res << endl; return 0; }

Результат выполнения кода:

"bcd"

Смотрите также

  • функция regex_match,
    которая проверяет полное совпадение строки с регулярным выражением
  • функция regex_search,
    которая ищет первое совпадение в строке
  • класс regex,
    который представляет регулярное выражение
  • класс cmatch,
    который хранит результаты совпадений для C-строк
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить