package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?mi)<(a|h1)[^\>]*?>(some)[^\<]*?<\/\1>`)
var str = `<p>
<h1>Some header, which I don't want to match</h1>
Some text - match it.
<a href="some-file.html">Some link. Don't match neither href nor link text.</a>
<span>Some word, which needs to be matched</span>
</p>`
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/