Prevent using escapes in regular expression

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

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

PREVIEWING: rtrieu/product-analytics-ui-changes