Может быть важно знать, почему вы хотите сделать это, чтобы ответить хорошо. Но если это все, что мы получим, я думаю, что я бы go с:
def looks_like_uri?(string)
maybe_uri = URI(string)
return ['http', 'https'].include?(maybe_uri.scheme)
end
и подробно остановился бы на этом - может быть, с тестами на действительные хосты и т. Д. c.
Но URL может быть много вещей. ftp, gopher, file, et c. Это действительно зависит от того, почему вы хотите это сделать.