Avoid invalid regular expression

Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

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: may/unit-testing