1234567891011121314151617181920212223242526272829303132333435 |
- package discovery
- import (
- "fmt"
- "regexp"
- "strconv"
- )
- // Generate takes care of IP generation
- func Generate(pattern string) []string {
- re, _ := regexp.Compile(`\[(.+):(.+)\]`)
- submatch := re.FindStringSubmatch(pattern)
- if submatch == nil {
- return []string{pattern}
- }
- from, err := strconv.Atoi(submatch[1])
- if err != nil {
- return []string{pattern}
- }
- to, err := strconv.Atoi(submatch[2])
- if err != nil {
- return []string{pattern}
- }
- template := re.ReplaceAllString(pattern, "%d")
- var result []string
- for val := from; val <= to; val++ {
- entry := fmt.Sprintf(template, val)
- result = append(result, entry)
- }
- return result
- }
|