why non-greedy modifier for one atom changes greediness of other atoms?

Поиск
Список
Период
Сортировка
От hubert depesz lubaczewski
Тема why non-greedy modifier for one atom changes greediness of other atoms?
Дата
Msg-id 20100104103051.GA21234@depesz.com
обсуждение исходный текст
Ответы Re: why non-greedy modifier for one atom changes greediness of other atoms?  (hubert depesz lubaczewski <depesz@depesz.com>)
Список pgsql-general
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@depesz.com / aim:depeszhdl / skype:depesz_hdl / gg:6749007

В списке pgsql-general по дате отправления:

Предыдущее
От: Thomas Kellerer
Дата:
Сообщение: 8.5 Alpha3 - broken downloadlink
Следующее
От: hubert depesz lubaczewski
Дата:
Сообщение: Re: why non-greedy modifier for one atom changes greediness of other atoms?