DBAtlas · Atlas für Datenbankbetrieb

2201B: invalid_regular_expression

PostgreSQL

Was bedeutet das?

Das an eine Operation mit regulären Ausdrücken (~, ~*, SIMILAR TO, regexp_matches, substring usw.) übergebene Muster ist ungültig. PostgreSQL konnte das Muster nicht kompilieren, weil seine Syntax falsch ist.

Ursache

Ein Regex-Muster mit unausgeglichenen Klammern, ungültigen Zeichenklassen, fehlerhaften Escape-Sequenzen oder einem nicht unterstützten Konstrukt. Eine häufige Ursache ist die direkte Verwendung von Benutzereingaben als Muster, ohne ihre Sonderzeichen zu escapen.

Lösung

Korrigiere das Regex-Muster gemäß POSIX-/ARE-Syntax; prüfe runde und eckige Klammern sowie Escape-Sequenzen. Suchst du Benutzereingaben als wörtlichen Text statt als Muster: PostgreSQL hat keine eingebaute Funktion regexp_quote, also escape die Sonderzeichen per regexp_replace mit einem vorangestellten Backslash oder verzichte ganz auf Regex und nutze strpos()/position() oder LIKE ... ESCAPE. Prüfe das Muster, indem du es in einem separaten Tool testest.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank