package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)\bx\.set\((?:\s*(?:,\s*)?(?<o>[-+]?\d*\.?\d+(?:[Ee][-+]?\d+)?|\w+(?<a>\((?:[^()]++|(?&a))*\))*|'[^'\\]*(?:\\.[^'\\]*)*'|"[^"\\]*(?:\\.[^"\\]*)*"))*\s*\)`)
var str = `ver = '1.0'
if x.set('1.2'):
p = x.set('python_version', None)
x = x.set('test_template', DEFAULT, p(x,b),
z())`
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/