org.sonar.l10n.javascript.rules.javascript.S6397.html Maven / Gradle / Ivy
Why is this an issue?
Character classes in regular expressions are a convenient way to match one of several possible characters by listing the allowed characters or
ranges of characters. If a character class contains only one character, the effect is the same as just writing the character without a character
class.
Thus, having only one character in a character class is usually a simple oversight that remained after removing other characters of the class.
Noncompliant code example
/a[b]c/
/[\^]/
Compliant solution
/abc/
/\^/
/a[*]c/ // Compliant, see Exceptions
Exceptions
This rule does not raise when the character inside the class is a metacharacter. This notation is sometimes used to avoid escaping (e.g.,
[.]{3}
to match three dots).