2201B: invalid_regular_expression
PostgreSQLWas 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.