package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(\s?,\s?)(?=[^\(]*\))|(\s?,\s?)(?=(?:[^\(]*\([^\(]*?\))*\))`)
var str = `SELECT 'column1' AS "Column 1" ,
'column2' AS "Column 2" ,
'column3' AS "Column 3",
SUM(Column_1, Column_2) , 'column5' AS "Column 5" ,
CONCAT("str1","str2","str3") ,
ADD(len(str1),avg(column_1),sum(column_1,column_2,column_3)) `
var substitution = "$"
fmt.Println(re.ReplaceAllString(str, substitution))
}
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/