package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?si)<[\w:]+(?=(?:[^>"']|"[^"]*"|'[^']*')*?(?<=\s)href\s*=\s*(?:(['"])\s*((?:(?!\1).)*?/namehere/nane2here/(?:option1|option2)(?:(?!\1).)*)\s*\1))\s+(?:".*?"|'.*?'|[^>]*?)+>`)
var str = `<link rel="apple-touch-icon" href= " //bits.wikimedia.org//namehere/nane2here/option2asdf" />
<div>adasdsda<div>...lots of tags here... <a ... href="/name/name/option1/data1/data2"...anything here ...">src</a>...others HTML text here...<a ... href="/namehere/nane2here/option2/data1"...>
`
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/