Есть функция которая в виде аргумента получает ip адресс вот такого вида:
http://127.34.72.163:82/test
Как можно легко проверить что передав аргумент он является корректным ip адресом?
Погуглив я нашел что есть родная библиотека которая проверяет корректность IP
require "resolv"
"192.168.1.1" =~ Resolv::IPv4::Regex ? true : false #=> true
"192.168.1.500" =~ Resolv::IPv4::Regex ? true : false #=> false
"ff02::1" =~ Resolv::IPv6::Regex ? true : false #=> true
"ff02::1::1" =~ Resolv::IPv6::Regex ? true : false #=> false
Но проблема заключается в том, что у меня есть еще
http://
в начале и
/test
после ip и при таком аргументе библиотека уже корректно не срабатывает. Возможно можно проверить как-то проще регулярными выражениями, или еще как-то?
Помогите новичку понять, как можно корректно решить эту проблему?