From f6258b24127c08a0db723b36204d67556188800c Mon Sep 17 00:00:00 2001 From: Albert S Date: Wed, 18 Mar 2020 22:00:15 +0100 Subject: [PATCH] replace boost regex with std --- parser.cpp | 11 +++-------- parser.h | 2 +- utils.cpp | 10 +++++----- utils.h | 2 +- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/parser.cpp b/parser.cpp index c87d437..8c27323 100644 --- a/parser.cpp +++ b/parser.cpp @@ -82,7 +82,7 @@ std::string Parser::extractCommand(std::string cmdname, std::string content) con } return ""; } -std::string Parser::processLink(const PageDao &pageDao, UrlProvider &urlProvider, boost::smatch &match) const +std::string Parser::processLink(const PageDao &pageDao, UrlProvider &urlProvider, std::smatch &match) const { std::string linktag = match.str(1); std::string inside = match.str(2); @@ -123,8 +123,8 @@ std::string Parser::parse(const PageDao &pagedao, UrlProvider &provider, std::st { std::string result; //we don't care about commands, but we nevertheless replace them with empty strings - boost::regex tagfinder(R"(\[(b|i|u|li||ul|ol|link|wikilink|h\d|cmd:rename|cmd:redirect)*?\]((\s|\S)*?)\[/\1])"); - result = utils::regex_callback_replacer(tagfinder, content, [&](boost::smatch &match) + std::regex tagfinder(R"(\[(b|i|u|li||ul|ol|link|wikilink|h\d|cmd:rename|cmd:redirect)*?\]((\s|\S)*?)\[/\1])"); + result = utils::regex_callback_replacer(tagfinder, content, [&](std::smatch &match) { std::string tag = match.str(1); std::string content = match.str(2); @@ -143,11 +143,6 @@ std::string Parser::parse(const PageDao &pagedao, UrlProvider &provider, std::st return "<" + tag + " id='" + content + "'>" + content + ""; } return std::string(""); - - - - - }); result = utils::strreplace(result, "\r\n", "
"); return result; diff --git a/parser.h b/parser.h index 0296556..439c43a 100644 --- a/parser.h +++ b/parser.h @@ -7,7 +7,7 @@ class Parser : public IParser { private: - std::string processLink(const PageDao &pageDao, UrlProvider &urlProvider, boost::smatch &match) const; + std::string processLink(const PageDao &pageDao, UrlProvider &urlProvider, std::smatch &match) const; public: std::string extractCommand(std::string cmdname, std::string content) const ; std::vector extractHeadlines(std::string content) const override ; diff --git a/utils.cpp b/utils.cpp index d634832..a711eed 100644 --- a/utils.cpp +++ b/utils.cpp @@ -140,14 +140,14 @@ std::string utils::readCompleteFile(std::string_view filepath) return content; } -std::string utils::regex_callback_replacer(boost::regex regex, const std::string &input, std::function callback) +std::string utils::regex_callback_replacer(std::regex regex, const std::string &input, std::function callback) { std::string result; - auto tagsbegin = boost::sregex_iterator(input.begin(), input.end(), regex); - auto tagsend = boost::sregex_iterator(); + auto tagsbegin = std::sregex_iterator(input.begin(), input.end(), regex); + auto tagsend = std::sregex_iterator(); auto matchbegin = 0; - for (boost::sregex_iterator i = tagsbegin; i != tagsend; ++i) { - boost::smatch match = *i; + for (std::sregex_iterator i = tagsbegin; i != tagsend; ++i) { + std::smatch match = *i; auto matchlength = match.length(0); auto matchpos = match.position(); diff --git a/utils.h b/utils.h index a56686e..af28eac 100644 --- a/utils.h +++ b/utils.h @@ -62,7 +62,7 @@ namespace utils return result; } - std::string regex_callback_replacer(boost::regex regex, const std::string &input, std::function callback); + std::string regex_callback_replacer(std::regex regex, const std::string &input, std::function callback); std::string readCompleteFile(std::string_view filepath);