Prevent using escapes in regular expression

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。

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