package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?mi)\([^)]*\)(*SKIP)(*F)|(?<=;)(?=\h*$|\s*\bALTER TABLE\b)`)
var str = `$multiSql = "
ALTER TABLE \`my_table\` CHANGE \`typ\` \`typ\` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0=none; 1=test1; 2=test2; 3=test3';
ALTER TABLE \`my_table2\`
ADD \`date\` varchar(25) COLLATE utf8_czech_ci DEFAULT NULL AFTER \`test\`;
ALTER TABLE \`my_table3\` ADD \`date\` varchar(25) COLLATE utf8_czech_ci DEFAULT NULL AFTER \`test\`; ALTER TABLE \`my_table3\` ADD \`test2\` varchar(25) COLLATE utf8_czech_ci DEFAULT NULL AFTER \`date\`;
ALTER TABLE \`my_table3\` CHANGE \`test2\` \`test2\` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0=test; 1=test2;';
";`
var substitution = "\n=================================\n"
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/