Я новичок ie в C ++ Обнаружена такая проблема:
std::string get_country_name()
{
std::string name;
try {
std::smatch matches;
const std::regex pattern("(\"countryName\"):[\"]?(.+?)[\",}]", std::regex_constants::icase);
if (std::regex_search(content_, matches, pattern) && matches.size() == 3)
name = matches.str(2);
catch (const std::exception& ex) {
name = ex.what(); // std::bad_cast here
}
return name;
}
Работает нормально на Windows, но на Linux выдает std::bad_cast
исключение.
Компилятор G CC 9.3.0.
Как заставить это регулярное выражение работать на Linux?