== Why is this an issue?

include::../description.adoc[]

=== Noncompliant code example

[source,javascript]
----
/(?:)*/      // same as the empty regex, the '*' accomplishes nothing
/(?:|x)*/    // same as the empty regex, the alternative has no effect
/(?:x|)*/    // same as 'x*', the empty alternative has no effect
/(?:x*|y*)*/ // same as 'x*', the first alternative would always match, y* is never tried
/(?:x?)*/    // same as 'x*'
/(?:x?)+/    // same as 'x*'
----


=== Compliant solution

[source,javascript]
----
/x*/
----

