Есть ли функция замены регулярных выражений, которая отправит совпадения в пользовательскую функцию, а затем заменит возвращаемое значение:
Я пробовал этот метод, но он явно не работает:
cout << regex_replace("my values are 9, 19", regex("\d+"), my_callback);
и функция:
std::string my_callback(std::string &m) {
int int_m = atoi(m.c_str());
return std::to_string(int_m + 1);
}
и результат должен быть: my values are 10, 20
Я имею в виду аналогичный режим работы, например php preg_replace_callback
или python re.sub(pattern, callback, subject)
И я имею в виду последний 4.9 gcc, способный к регулярному выражению без повышения.