utils: Add regex_callback_extractor()

This commit is contained in:
Albert S. 2021-04-17 12:10:59 +02:00
parent 8b44dd4e94
commit 7ca04fbf45
2 changed files with 12 additions and 0 deletions

View File

@ -175,3 +175,14 @@ std::string utils::toISODate(time_t t)
}
return std::string{result};
}
void utils::regex_callback_extractor(std::regex regex, const std::string &input, std::function<void (std::smatch &)> callback)
{
auto begin = std::sregex_iterator(input.begin(), input.end(), regex);
auto end = std::sregex_iterator();
for(auto it = begin; it != end; it++)
{
std::smatch smatch = *it;
callback(smatch);
}
}

View File

@ -60,6 +60,7 @@ template <class T, class U> std::vector<U> getAll(std::multimap<T, U> map, T key
std::string regex_callback_replacer(std::regex regex, const std::string &input,
std::function<std::string(std::smatch &)> callback);
void regex_callback_extractor(std::regex regex, const std::string &input, std::function<void(std::smatch &)> callback);
std::string readCompleteFile(std::string_view filepath);
inline std::string nz(const char *s)