C++ неожиданный результат для набора регулярных выражений для экранирования

Я разрабатываю код для очистки escape-символов из std :: string. Предположим, у меня есть "" Hello, \ "all \" "" в качестве входных данных.

У меня есть следующий список побегов, которые нужно обработать

const std::vector<std::pair<std::regex, std::string>> escape_symbols_to_replace{
    { std::regex("\\\\"), "\\" },
    { std::regex("\\\""), "\"" },
//    { std::regex("\\n"), "\n" },
//    { std::regex("\\r"), "\r" },
//    { std::regex("\\t"), "\t" },
//    { std::regex("\\b"), "\b"},
//    { std::regex("\\f"), "\f"},
//    { std::regex("\\v"), "\v"},
//    { std::regex("\\'"), "\'"},
//    { std::regex("\\?"), "\?"}
};

void ProcessEscapes(std::string& string_content)
{
    for (const auto& [expr, subs] : escape_symbols_to_replace) {
        string_content = std::regex_replace(string_content, expr, subs);
    }
}

А вот что у меня:

After processing = Hello, \"everybody\"
Must be = Hello, "everybody"

Значит, убираются не все уцелевшие. Я что-то делаю неправильно, применяя к строке набор reg_expr?

Уже обработанные последовательности не следует повторно обрабатывать несколько раз.

Eljay 10.04.2021 00:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
23
0

Другие вопросы по теме

Чтобы найти библиотеку, используемую в существующем файле Python
Как я могу заставить регулярное выражение, работающее в regex101, работать, когда я запускаю его в VDC?
Проверьте, соответствует ли текстовый файл значений соглашению с помощью регулярного выражения
Как использовать регулярное выражение, чтобы не совпадать с определенными заглавными словами, но они должны быть заглавными
React.js Извлечь часть строки, которая начинается и заканчивается определенным словом
Перенаправление поддомена на index.php
Разделение регулярных выражений на пробелы, кроме кавычек или квадратных скобок
Найдите регулярное выражение, описывающее те слова, которые не содержат двух последовательных букв a в алфавите {a, b}
Неправильное регулярное выражение в строке узла XML
Regex javascript - извлекает имя тега и содержание тела из настраиваемого тега html (без положительного внешнего вида)