25 lines
536 B
Plaintext

== 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*/
----