Dear List, I found this interesting:
SELECT regexp_matches('123-A' , E'(3[A-Z\- ])'); ERROR: invalid regular expression: invalid character range whereas: SELECT regexp_matches('123-A' , E'(3[\- A-Z])'); regexp_matches ---------------- {3-} (1 row) Notice the order of (escaped) characters and ranges in the last bit of the expression. Am I missing some key concept of the regular expression? Regards, Rob