== Why is this an issue?

include::../description.adoc[]

=== Noncompliant code example

[source,javascript]
----
const dateRegex = /^(?:0[1-9]|[12][0-9]|3[01])[- /.](?:0[1-9]|1[012])[- /.](?:19|20)\d\d(?:)$/; // Noncompliant, useless group at the end
const methodCallRegex = /foo()/;  // Noncompliant, will match only 'foo'
----

=== Compliant solution

[source,javascript]
----
const dateRegex = /^(?:0[1-9]|[12][0-9]|3[01])[- /.](?:0[1-9]|1[012])[- /.](?:19|20)\d\d$/;
const methodCallRegex = /foo\(\)/; // OK, matches 'foo()'
----
