diff --git a/scheduler/filter/expr.go b/scheduler/filter/expr.go index d8f61366ff..d6e4a4f15b 100644 --- a/scheduler/filter/expr.go +++ b/scheduler/filter/expr.go @@ -52,7 +52,7 @@ func parseExprs(key string, env []string) ([]expr, error) { // allow leading = in case of using == // allow * for globbing // allow regexp - matched, err := regexp.MatchString(`^(?i)[=!\/]?(~)?[a-z0-9:\-_\s\.\*/\(\)\?\+\[\]\\\^\$]+$`, parts[1]) + matched, err := regexp.MatchString(`^(?i)[=!\/]?(~)?[a-z0-9:\-_\s\.\*/\(\)\?\+\[\]\\\^\$\|]+$`, parts[1]) if err != nil { return nil, err } diff --git a/scheduler/filter/expr_test.go b/scheduler/filter/expr_test.go index a6a18b0839..672909d858 100644 --- a/scheduler/filter/expr_test.go +++ b/scheduler/filter/expr_test.go @@ -32,7 +32,7 @@ func TestParseExprs(t *testing.T) { assert.NoError(t, err) // Allow regexp in value - _, err = parseExprs("constraint", []string{"constraint:node==/(?i)^[a-b]+c*$/"}) + _, err = parseExprs("constraint", []string{"constraint:node==/(?i)^[a-b]+c*(n|b)$/"}) assert.NoError(t, err) // Allow space in value