Why is this an issue?

There are several reasons to use a group in a regular expression:

In any case, having an empty group is most probably a mistake. Either it is a leftover after refactoring and should be removed, or the actual parentheses were intended and were not escaped.

Noncompliant code example

r"foo()" # Noncompliant, will match only 'foo'

Compliant solution

r"foo\(\)" # Matches 'foo()'