Move regexp.MustCompile to global variable

Kubernetes-commit: 34747474659b26456c3615d9f79d014deacf505a
This commit is contained in:
Sergey Lanzman
2017-09-04 22:56:06 +03:00
committed by Kubernetes Publisher
parent be88969207
commit 302b3649ef

View File

@@ -43,7 +43,11 @@ type Parser struct {
width int
}
var ErrSyntax = errors.New("invalid syntax")
var (
ErrSyntax = errors.New("invalid syntax")
dictKeyRex = regexp.MustCompile(`^'([^']*)'$`)
sliceOperatorRex = regexp.MustCompile(`^(-?[\d]*)(:-?[\d]*)?(:[\d]*)?$`)
)
// Parse parsed the given text and return a node Parser.
// If an error is encountered, parsing stops and an empty
@@ -283,8 +287,7 @@ Loop:
}
// dict key
reg := regexp.MustCompile(`^'([^']*)'$`)
value := reg.FindStringSubmatch(text)
value := dictKeyRex.FindStringSubmatch(text)
if value != nil {
parser, err := parseAction("arraydict", fmt.Sprintf(".%s", value[1]))
if err != nil {
@@ -297,8 +300,7 @@ Loop:
}
//slice operator
reg = regexp.MustCompile(`^(-?[\d]*)(:-?[\d]*)?(:[\d]*)?$`)
value = reg.FindStringSubmatch(text)
value = sliceOperatorRex.FindStringSubmatch(text)
if value == nil {
return fmt.Errorf("invalid array index %s", text)
}