Я создаю std::regex(__FILE__) как часть модульного теста, который проверяет некоторые выходные данные исключения, которые печатают имя файла.
В Windows происходит ошибка:
regex_error(error_escape): выражение содержит недопустимый escape-символ или завершающий escape-символ.< /p>
потому что расширение макроса __FILE__ содержит неэкранированные обратные косые черты.
Есть ли более элегантный способ избежать обратной косой черты, чем перебирать полученную строку в цикле (т. е. с помощью алгоритма std или какой-либо функции std::string)?
Подробнее здесь: https://stackoverflow.com/questions/392 ... e-in-regex