Всем привет!
Разбираюсь с парсингом текста, поставил себе задачу извлечь все ссылки из строки (адреса ссылок).
Реализовал таким образом:
std::string str = "<html><body><a href=\"url1\">name link1</a><div><a href=\"url2\">name link2</a></body></html>";
std::regex reg("(<a href=\")([\\w\\s]*)(\">)(.*)(</a>)");
std::smatch res;
std::vector<std::string> arr;
std::string tmp_str = str;
while (std::regex_search(tmp_str, res, reg))
{
arr.push_back(res[2]);
tmp_str = tmp_str.substr(res.position(2));
}
Интересует "профессиональность" подхода, если можно так выразится. Разумеется потом все оберну в класс и сделаю красиво, сейчас интересует именно сам алгоритм, может быть можно сделать
быстрее/лучше?