package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(^(?:Steps|Model|Mirror Mode)|\G(?!^).+?):\h*(.+?)(?:,\h*|$)`)
var str = `Prompt: professional digital [airbrush:gouache:0.6] art of (mythical:1.1) demon, wearing ragged jacket and pants, dynamic lighting, summer, Dutch Masters:0.6
Negative prompt: (child), (mangled hands), (badly drawn hands),( badly drawn fingers)
Steps: 70, Sampler: Euler a, CFG scale: 40, Seed: 351468770, Size: 340x512, Model hash: 2db4e932c1, Model: Comics_vimod, Denoising strength: 0.651,
Mirror Mode: 2, Mirror Style: 0, Mirroring Max Step Fraction: 0.1, X Pan: 0.02, Y Pan: 0.03
Template: professional digital [airbrush:gouache:0.{6|7|8}] art of ({fantastical|mythical}:1.1) demon, wearing ragged jacket and {skirt|pants|breech cloth|tuxedo}, dynamic lighting, {winter|summer}, Dutch Masters:0.6
`
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/