package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)<a[\s\S]*? \bhref="(mailto:(.*?))"[\s\S]*?>(.*?)</a>`)
var str = `<p>Lorem ipsum dolor sit amet, <a href="#coucou">consectetur </a> dipiscing elit. <a href="mailto:fakeEmail@gmail.com">Email Tag Content 1</a>.Sic enim censent, oportunitatis esse beate vivere. Omnia contraria, quos etiam insanos esse vultis. Virtutis, magnitudinis animi, patientiae, fortitudinis fomentis dolor mitigari solet. <a href="mailto:email@address.uk">Quid</a>, cum fictas fabulas, e quibus utilitas nulla elici potest, cum voluptate legimus? Duo Reges: <a href="mailto:tt@tt.com" class="asdkfj">constructio</a> interrete. Vos autem cum perspicuis dubia debeatis illustrare, dubiis perspicua conamini tollere. Quid ad utilitatem <a class="t" href="mailto:aaa@uuu.ik">tantae</a> pecuniae? Quod non subducta utilitatis ratione effici solet, sed ipsum a se oritur et sua sponte nascitur.`
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/