на вход строка корректным IPv4 или IPv6-адресом.
Нашел на просторе сети решение:
string Validate_It(const string& IP)
{
// Regex expression for validating IPv4
regex ipv4("(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])");
// Regex expression for validating IPv6
regex ipv6("((([0-9a-fA-F]){1,4})\\:){7}([0-9a-fA-F]){1,4}");
// Checking if it is a valid IPv4 addresses
if (regex_match(IP, ipv4)) {
return "IPv4";
}
// Checking if it is a valid IPv6 addresses
if (regex_match(IP, ipv6)) {
return "IPv6";
}
// Return Invalid
return "Error";
}
но впервые встретился с использованием элементов библиотеки regex. Погуглив, обнаружил, что эта библиотека была введена аж в 2011 году. Ввиду чего, вопрос: хорошее ли это решение? Если да, то как часто встречается regex? Мол, стоит ли заняться изучением или это прошлый век? Если стоит изучить — где встречается regex, когда полезен?
Конкретно std::regex не идеален. Но есть множество частей std, которые были введены в 2011-м году, и до сих пор активно используются
Обсуждают сегодня