Так что мне нужен какой-то способ включить данный Protocol: // URLorIP: Порт
строка в строку ip
int порт
Как это сделать с помощью Boost ASIO и Boost Regex? Или это возможно - получить IP с помощью C ++ Net Lib (кандидат на повышение) - обратите внимание - нам не нужно длинное соединение - только IP.
Так что сейчас я использую такой код для синтаксического анализа
#include
#include
#include
int main(int argc, char** argv)
{
if (argc < 2) return 0;
std::vector values;
boost::regex expression(
// proto host port
"^(\?:([^:/\?#]+)://)\?(\\w+[^/\?#:]*)(\?::(\\d+))\?"
// path file parameters
"(/\?(\?:[^\?#/]*/)*)\?([^\?#]*)\?(\\\?(.*))\?"
);
std::string src(argv[1]);
if (boost::regex_split(std::back_inserter(values), src, expression))
{
const char* names[] = {"Protocol", "Host", "Port", "Path", "File",
"Parameters", NULL};
for (int i = 0; names[i]; i++)
printf("%s: %s\n", names[i], values[i].c_str());
}
return 0;
}
Что мне добавить в свою небольшую программу для синтаксического анализа URL-адреса в IP-адрес?