Avoid invalid regular expression

Metadata

ID: go-best-practices/valid-regular-expression

Language: Go

Severity: Info

Category: Best Practices

Description

Regular expression in Go must be valid regular expressions. You can check the validity of regular expressions on regex101.com.

Non-Compliant Code Examples

func main() {
    var c1 = "["
    c2 := "["

    regexp.MustCompile(c1)

    if something {
        regexp.MustCompile(c2)
    } else {
        regexp.MustCompile(c2)
    }
    
}
func main() {
    regexp.MustCompile("[")
    regexp.Compile("(")
    regexp.Match("(")
    regexp.MatchReader("(")
    regexp.MatchString("(")
}

Compliant Code Examples

func main() {
    regexp.MustCompile("[a-z]+")
    regexp.Compile("[a-z]+")
    regexp.Match("[a-z]+")
    regexp.MatchReader("[a-z]+")
    regexp.MatchString("[a-z]+")
    regexp.MustCompile("^error-tracking-(.+)$")
    regexp.MustCompile("(?i)windows")    
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: rtrieu/product-analytics-ui-changes