package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(<\s?a\s?href="https?:\/\/([\da-z\.-]+\.[a-z\.]{2,6})\/(@[\/\w._-]*)"\s?.*<\s?\/\s?a\s?>)`)
var str = `caught once when a space between URLs :(
<a href="https://mastodon.social/@tom79" class="u-url mention">@<span>tom79</span></a> <a href="https://mastodon.social/@mastalab" class="u-url mention">@<span>Mastalab</span></a>
caught separately when no space between URLs :)
<a href="https://mastodon.social/@tom79" class="u-url mention">@<span>tom79</span></a>
<a href="https://mastodon.social/@mastalab" class="u-url mention">@<span>Mastalab</span></a>
How to change this regex to make the first case work???`
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/