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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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