Prevent using escapes in 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/regexp-raw-string

Language: Go

Severity: Info

Category: Best Practices

Description

In Go, it is better to avoid using double backslashes (\\) in regular expressions and instead use raw string literals (enclosed by backticks) to define regular expressions.

When using double backslashes, each backslash has a special meaning and needs to be escaped. This can lead to confusion and make regular expressions harder to read and understand.

Using raw string literals with backticks, on the other hand, treats backslashes as regular characters and avoids the need for escaping. This simplifies the expression and makes it more readable.

Non-Compliant Code Examples

func main () {
   regexp.Compile("\\A(\\w+) total: items \\d+\\n\\z")
}

Compliant Code Examples

func main () {
   regexp.Compile(`\A(\w+) total: items \d+\n\z`)
}
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