package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?:[a-zA-Zа-яА-Я]+?:\/\/)?(?:www\.)?(?:(?:\w{1,})\.){1,127}(?:\w{2,9})(?:[\w.,@?^=%&:\/~+#-]+)?`)
var 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`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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 Golang, please visit: https://golang.org/pkg/regexp/