Alternation is used to match a single regular expression out of several possible regular expressions. If one of the alternatives is empty it would match any input, which is most probably a mistake. == Noncompliant Code Example ---- /Jack|Peter|/.test('John'); // Noncompliant - returns 'true' /Jack||Peter/.test('John'); // Noncompliant - returns 'true' ---- == Compliant Solution ---- /Jack|Peter/.test('John'); // returns 'false' ---- == Exceptions One could use an empty alternation to make a regular expression group optional. Rule will not report on such cases. ---- /mandatory(-optional|)/.test('mandatory'); // returns 'true' /mandatory(-optional|)/.test('mandatory-optional'); // returns 'true' ---- However, if there is a quantifier after the group the issue will be reported as using both `|` and quantifier is redundant. ---- /mandatory(-optional|)?/.test('mandatory'); // Noncompliant - using both `|` inside the group and `?` for the group. ----