From ab9e5fb0bd3d6a6d53f0f7f7a5225ee0c419c652 Mon Sep 17 00:00:00 2001 From: Albert S Date: Sat, 17 Apr 2021 12:11:54 +0200 Subject: [PATCH] Parser: use utils::regex_callback_extractor --- parser.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/parser.cpp b/parser.cpp index 8ee460c..3eb1fc6 100644 --- a/parser.cpp +++ b/parser.cpp @@ -30,19 +30,12 @@ SOFTWARE. std::vector Parser::extractHeadlines(std::string content) const { std::vector result; - std::string reg = R"(\[h(1|2|3)\](.*?)\[/h\1\])"; - std::regex headerfinder(reg); - auto begin = std::sregex_iterator(content.begin(), content.end(), headerfinder); - auto end = std::sregex_iterator(); - - for(auto it = begin; it != end; it++) - { - auto smatch = *it; + utils::regex_callback_extractor(std::regex(R"(\[h(1|2|3)\](.*?)\[/h\1\])"), content, [&](std::smatch &smatch) { Headline h; h.level = utils::toUInt(smatch.str(1)); h.title = smatch.str(2); result.push_back(h); - } + }); return result; }