There are several reasons to use a group in a regular expression: * to change the precedence (e.g. `do(g|or)` will match 'dog' and 'door') * to remember parenthesised part of the match in the case of capturing group * to improve readability 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.