Reguläre Ausdrücke

Hallo zusammen,

hab folgendes Problem(chen).
Ich habe folgenden Check constraint angelegt.

*alter table betreuer_intern add constraint check_in_telnummer check (in_telnummer::text ~ ‘^(+49(651)8103-)[[:digit:]]+$’::text)
*

[LEFT]Wenn ich jedoch dann in das feld eine telnummer eingebe beschwert Postgres sich mit invalid quantifier operand. Und das obwohl ich das + Zeichen doch maskiert hab.
Ich hoffe mir kann einer weiterhelfen

Gruß Tom
[/LEFT]

Vielleicht liege ich jetzt flasch, bin nicht der ganz große Regex-Experte, aber ich schätze mal, man muß bei + den \ auch maskieren.

test=*# create table foo (tel text);
test=*# alter table foo add constraint check_in_telnummer check (tel::text ~ '^(\\+49\(651\)8103\-)[[:digit:]]+$'::text);
test=*# insert into foo values ('+496518103-123');
INSERT 0 1

Andreas