Eu estou tentando uma correspondência regex bastante simples em C + + 11 (usando o gcc 4.7.2), mas estou tendo uma grande quantidade de problemas. Tentando construir um padrão usando
std::regex unquoted(R"regex(\s*([^",]+)\s*)regex");
faz com que o construtor lance uma exceção std::regex_error
com o código std::regex_constants::error_escape
. Vários testers de regex online não têm problemas com a mesma expressão, e eu tentei usar diferentes algumas das diferentes opções de syntax sem sucesso. Existe algo fundamentalmente diferente sobre a syntax de regex do C ++ que eu não estou segurando?
Veja a página de status de implementação stdc ++ 11 do gcc – regexes não são suportados a partir do gcc 4.8
Editar para a posteridade: Como mencionado nos comentários, a biblioteca regex agora está em libstdc++
e deve estar no gcc 4.9 e em diante.