Possessive quantifiers in Regex patterns like below improve performance by eliminating needless backtracking:
?+ , *+ , ++ , {n}+ , {n,}+ , {n,m}+
But because possessive quantifiers do not keep backtracking positions and never give back, the following sub-patterns should not match only similar
characters. Otherwise, possessive quantifiers consume all characters that could have matched the following sub-patterns and nothing remains for the
following sub-patterns.
Noncompliant code example
"/a++abc/" // Noncompliant, the second 'a' never matches
"/\d*+[02468]/" // Noncompliant, the sub-pattern "[02468]" never matches
Compliant solution
"/aa++bc/" // Compliant, for example it can match "aaaabc"
"/\d*+(?<=[02468])/" // Compliant, for example it can match an even number like "1234"