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?
in pl/perl it's of course trivial, but I can't seem to find a way to do it in substring() regexps.
Best regards,
depesz
--
Linkedin: http://www.linkedin.com/in/depesz / blog: http://www.depesz.com/
jid/gtalk: depesz(at)depesz(dot)com / aim:depeszhdl / skype:depesz_hdl / gg:6749007