Karsten Hilbert <Karsten.Hilbert@xxxxxxx> writes: > What I don't understand is: Why does the following return a > substring ? > select substring ('junk $<allergy::test::99>$ junk' from '\$<[^<]+?::[^:]+?>\$'); There's a perfectly valid match in which [^<]+? matches allergy::test and [^:]+? matches 99. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general