DBAtlas · Atlas de operações de banco de dados

2201B: invalid_regular_expression

PostgreSQL

O que significa?

O padrão informado a uma operação de expressão regular (~, ~*, SIMILAR TO, regexp_matches, substring etc.) é inválido. O PostgreSQL não conseguiu compilar o padrão porque sua sintaxe está errada.

Por que acontece?

Um padrão regex com parênteses desbalanceados, classes de caracteres inválidas, sequências de escape incorretas ou uma construção não suportada. Uma causa comum é usar a entrada do usuário diretamente como padrão sem escapar seus caracteres especiais.

Como resolver

Corrija o padrão regex de acordo com a sintaxe POSIX/ARE; verifique parênteses, colchetes e sequências de escape. Se você está procurando a entrada do usuário como texto literal e não como padrão: o PostgreSQL não tem uma função nativa regexp_quote, então escape os caracteres especiais prefixando-os com uma barra invertida via regexp_replace, ou evite regex por completo e use strpos()/position() ou LIKE ... ESCAPE. Valide o padrão testando-o em uma ferramenta separada.

Abrir no DBAtlas →

Mais entradas deste banco