package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?s)(<(\w+)[^>]*>)((?!<\2).*)(<\/\2>)`)
var str = `alpha
<div>
alpha<div>
beta<div>
x < y divided by 4
</div>
</div>
</div>
<div>
<span style="font-size: 8pt;" disabled title="data">
<span>infinite</span>
<?= $record->id ?>
</span>
<div> equal </div>
</div>
<div> sum </div>
When x y and y > 0
<div> Summary</div>
Equation id <?= $equation->id ?>
`
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/