split.go 442 B

1234567891011121314151617181920212223
  1. package gen
  2. import (
  3. "regexp"
  4. )
  5. func (g *defaultGenerator) split() []string {
  6. reg := regexp.MustCompile(createTableFlag)
  7. index := reg.FindAllStringIndex(g.source, -1)
  8. list := make([]string, 0)
  9. source := g.source
  10. for i := len(index) - 1; i >= 0; i-- {
  11. subIndex := index[i]
  12. if len(subIndex) == 0 {
  13. continue
  14. }
  15. start := subIndex[0]
  16. ddl := source[start:]
  17. list = append(list, ddl)
  18. source = source[:start]
  19. }
  20. return list
  21. }