В этот момент (с использованием std = c ++ 14 в g ++ (GCC) 4.9.2) все еще не принимается regex_match.
Вот подход, который работает как regex_match, но вместо этого использует sregex_token_iterator. И он работает с g ++.
string line="1a2b3c";
std::regex re("(\\d)");
std::vector inVector{
std::sregex_token_iterator(line.begin(), line.end(), re, 1), {}
};
//prints all matches
for(int i=0; i
он будет печатать 1 2 3
, вы можете прочитать ссылку sregex_token_iterator в: http://en.cppreference.com/ ж / CPP / регулярное выражение / regex_token_iterator
Попробуйте, это будет работать в SQL, я не очень разбираюсь в Hive, но это должно работать на основе того, что я прочитал.
SELECT id, x_date, y, z, q, a
FROM log
WHERE z IN ('1','2','3','4','5')
AND id IN (
SELECT id
FROM log
WHERE ((to_date(x_date)) >= (date_sub(current_date, 1)))
AND y like '%timeout%')