package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?i)([a-z]+\:\/+)([^\/\s]+)([a-z0-9\-@\^=%&;\/~\+]*)[\?]?([^ \#\r\n]*)#?([^ \#\r\n]*)`)
var str = `Bob: Hey there, have you checked https://www.facebook.com ?
(ignore) https://github.com/justsml?tab=activity#top (ignore this too)
smb:///winbox/dfs/ - ipp://printer
a a:// . `
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/