include::../description.adoc[]

== Noncompliant Code Example

----
r"(?:)*"      # same as the empty regex, the '*' accomplishes nothing
r"(?:|x)*"    # same as the empty regex, the alternative has no effect
r"(?:x|)*"    # same as 'x*', the empty alternative has no effect
r"(?:x*|y*)*" # same as 'x*', the first alternative would always match, y* is never tried
r"(?:x?)*"    # same as 'x*'
r"(?:x?)+"    # same as 'x*'
----


== Compliant Solution

----
r"x*"
----

