diff options
| author | Loyalsoldier <[email protected]> | 2020-04-03 00:07:17 +0800 |
|---|---|---|
| committer | loyalsoldier <[email protected]> | 2020-04-03 09:40:40 +0800 |
| commit | a58fac93a3b70dff226cfcc2c0118f7ddc76f2b3 (patch) | |
| tree | 9e47051a3d1413aedae6cd1f2b40155564a4109e | |
| parent | 3f95d67f2b8e97d3b4e1468330153afd6fa8cf3d (diff) | |
Validate IPv4 CIDR
| -rw-r--r-- | main.go | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -13,6 +13,7 @@ import ( "io/ioutil" "net/http" "os" + "regexp" "strings" "github.com/golang/protobuf/proto" @@ -103,7 +104,12 @@ func getCNIPv4Cidr(url string) (cnIPv4CidrList []string, err error) { return nil, err } - cnIPv4CidrList = strings.Split(string(body), "\n") + reg := regexp.MustCompile(`(\d+\.){3}\d+\/\d+`) + matchList := reg.FindAllStringSubmatch(string(body), -1) + + for _, match := range matchList { + cnIPv4CidrList = append(cnIPv4CidrList, match[0]) + } fmt.Println("The length of cnIPv4CIDRList is", len(cnIPv4CidrList)) return cnIPv4CidrList, nil @@ -121,6 +127,7 @@ func changeCNIPv4Cidr(url string, m map[string]string, list map[string][]*router } for _, cnIPv4Cidr := range cnIPv4CidrList { + fmt.Println("Processing CN IPv4 CIDR:", cnIPv4Cidr) cnIPv4Cidr, err := conf.ParseIP(strings.TrimSpace(cnIPv4Cidr)) if err != nil { return err |
