split.go 433 B

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