When an alternation contains multiple alternatives that consist of a single character, it can be rewritten as a character class. This should be preferred because it is more efficient and can even help prevent stack overflows when used inside a repetition (see rule S5998 ). == Noncompliant Code Example ---- Pattern.compile("a|b|c"); // Noncompliant ---- == Compliant Solution ---- Pattern.compile("[abc]"); // or Pattern.compile("[a-c]"); ----