re = /(?:[a-zA-Zа-яА-Я]+?:\/\/)?(?:www\.)?(?:(?:\w{1,})\.){1,127}(?:\w{2,9})(?:[\w.,@?^=%&:\/~+#-]+)?/
str = 'с ipsum ftp://site.ru знаменитый Неповторяющийся веке благодаря имеет слов. к никакого. https://www.site.ru шрифтов, использовать фразы основе частотой, абзацев, https://site.ru книгопечатник. интернет-страницы. вида применили https://site.ru/ ориентированных в f://site.ru/ обитателям даже http://www.site.ru/ языках по использованием смысловую написание. на на трактата, не www.site.ru https://www.site.ru/ о http://site.ru книгопечатании распространенных. к http://www.site.ru оригинального. site.ru по контента. www.site.ru/ качества http://site.ru/abc.hui?sdfsajfnasjfd=1231sa'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html