On Mon, Jan 04, 2010 at 11:30:51AM +0100, hubert depesz lubaczewski wrote: > Example: > # select x, substring( x from E'^((.*?)(\\.[0-9]+))') from ( values ('ab.123xxx.46hfd'),('a.b.c.d.123xx')) as q (x); > x | substring > -----------------+----------- > ab.123xxx.46hfd | ab.1 > a.b.c.d.123xx | a.b.c.d.1 > (2 rows) > > > I found in docs, that this is what happens, but I don't understand the > logic behind forcing unique greediness in whole expression. > > Also - how can one write a regexp that will match "ab.123" and > "a.b.c.d.123" respectively? sorry - it could have be unclear - in case of string 'ab123bc.12xx' return value should be 'ab123bc.12' - i.e. we have to search to first . followed by digits and return it from beginning of string to the last of digits. Best regards, depesz -- Linkedin: http://www.linkedin.com/in/depesz / blog: http://www.depesz.com/ jid/gtalk: depesz@xxxxxxxxxx / aim:depeszhdl / skype:depesz_hdl / gg:6749007 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general