Std::regex экранирует специальные символы для использования в регулярном выраженииC++

Программы на C++. Форум разработчиков
Anonymous
Std::regex экранирует специальные символы для использования в регулярном выражении

Сообщение Anonymous »

Я создаю std::regex(__FILE__) как часть модульного теста, который проверяет некоторые выходные данные исключения, которые печатают имя файла.

В Windows происходит ошибка:


regex_error(error_escape): выражение содержит недопустимый escape-символ или завершающий escape-символ.< /p>


потому что расширение макроса __FILE__ содержит неэкранированные обратные косые черты.

Есть ли более элегантный способ избежать обратной косой черты, чем перебирать полученную строку в цикле (т. е. с помощью алгоритма std или какой-либо функции std::string)?

Подробнее здесь: https://stackoverflow.com/questions/392 ... e-in-regex

Вернуться в «C++»