PLZ Eingabe beschränken - constaints

Hallo
ich möchte in einer Personen-Tabelle die Constraints-Anweisung wie folgt ändern:
IST:
“zipcode_check” CHECK (zipcode ~ ‘^[0-9][0-9][0-9][0-9][0-9]$’::text)

SOLL:
4 oder 5 stellige Postleitzahl
mit voran gestelltem Nationalitäten-Buchstaben
also: NL-2834
geht das so:
(zipcode ~ ‘^[A_Z,-]{0,2}[0-9][0-9][0-9][0-9][0-9]?$’::text)
oder
(zipcode ~ ‘^[A_Z-]{0,3}[0-9]{4,5}$’::text)

Gruß
Armin

so vielleicht?

test=# create table zip(code text check (code ~ '^[A-Z]{0,3}-{0,1}[0-9]{4,5}$'::text));
CREATE TABLE
test=*# insert into zip values ('01723');
INSERT 0 1
test=*# insert into zip values ('NL-2834');
INSERT 0 1
test=*# insert into zip values ('DE-01723');
INSERT 0 1
test=*#

Danke für die schnelle Hilfe.
Gruß Armin