package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?s)<div\sclass="portal"(.*?)<\/div>`)
var str = `<div class="portal" role="navigation" id='p-participation' aria-labelledby='p-participation-label'>
<h3 id='p-participation-label'>Раз раз раз</h3>
</div> <div class="portal" role="navigation" id='p-tb' aria-labelledby='p-tb-label'>
<h3 id='p-tb-label'>Инструменты</h3>
</div> <div class="portal" role="navigation" id='p-coll-print_export' aria-labelledby='p-coll-print_export-label'>
<h3 id='p-coll-print_export-label'>Печать/экспорт</h3>
</div> <div class="portal" role="navigation" id='p-wikibase-otherprojects' aria-labelledby='p-wikibase-otherprojects-label'>
<h3 id='p-wikibase-otherprojects-label'>В других других</h3>
</div> <div class="portal" role="navigation" id='p-lang' aria-labelledby='p-lang-label'>
<h3 id='p-lang-label'>Три три три</h3>
</div>
`
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/