По причинам, я использую RE2 только для сопоставления регулярных выражений в проекте.
Я пытаюсь избежать определенных символов, используя библиотеку RE2.
std::string aInput = "~/Test (Folder)/";
RE2::GlobalReplace( &aInput, "(<|>|\\||\\:|\\(|\\)|&|;|\\s)", "\\\\0" );
Я знаю, что \0
вставляет всю соответствующую группу, но как только я добавляю escape-символ, я получаю неожиданный результат:
~/Тест\0\0Папка\0
вместо
~/Тест\\(Папка\)/
Как вставить \ перед каждой соответствующей группой, используя RE2?
PS. RE2::QuoteMeta() для меня не вариант, так как он экранирует символы, которые мне не нужно экранировать.